0
假設我有一個包含2個表的模型:Owner(int:id)和Car(int:id,int:owner_id)。Yii:如何從表中獲取一個ID數組
我想在Car上建立一個驗證規則,以避免不存在的owner_ids被綁定到Car.owner_id字段。我想在代碼中使用此驗證規則,而不是僅使用數據庫外鍵檢查,因爲它允許我輕鬆地在表單上顯示錯誤消息,而不必稍後處理數據庫異常。
因此,在我的模型,我想有這樣的:
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 =所有者: :model() - > findIdsAsArray()「或類似的東西。
確實,這個CExistsValidator是一個很好的解決方案。謝謝 ! – ChristopheBrun