假设我有一个带有 2 个表的模型:所有者(int:id)和 Car(int:id,int:owner_id)。
我正在尝试在 Car 上构建验证规则,以避免将不存在的 owner_ids 绑定到 Car.owner_id 字段。我希望在代码中使用此验证规则,而不是仅使用 DB 外键检查,因为它允许我轻松地在表单上显示错误消息,而不必稍后处理 DB 异常。
因此,在我的模型中,我想要类似的东西:
public function rules() {
return array(
array('owner_id', 'in', 'range' => array(11, 12, 13)),
);
}
其中 11、12、13 是现有的所有者 ID。
我可以通过以下代码找到这些 ID:
$ars = Yii::app()->db->createCommand("SELECT id FROM owner")->queryAll();
$ids = array();
foreach($ars as $ar) {
$ids[] = $ar['id'];
}
但是,我想知道 Yii 中是否有任何内置方法允许以更懒惰的方式获取这个数组,例如“$ids = Owner::model()->findIdsAsArray()”或类似的东西。