我使用搜索症狀表,並將症狀代碼傳遞給我的疾病控制器Yii如何使用查詢結果搜索模型(填充activedataprovider)?
症狀和疾病都有模型類,但連接2的表沒有。
我使用這個查詢來查找所有具有特定症狀
$diseaseCodes = Yii::app()->db->createCommand()
->select ('ICD10')
->from('tbl_disease')
->join('tbl_symptom_disease', 'tbl_disease.ICD10=tbl_symptom_disease.diseaseCode')
->where('symptomCode=:symptomCode',
array(':symptomCode'=>$_GET['symptomCode']))
->queryAll();
現在我想知道我可以用它來填充數據提供程序來填充一個gridview
一個想法的疾病我曾是創建一個自定義模式功能
public function queryResultSearch($diseaseArray)
{
$criteria=new CDbCriteria;
$criteria->compare('ICD10',$diseaseArray,true);
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
));
}
,並以此來渲染警予的管理動作(疾病模型),但我不能讓它工作,因爲可能我的恩在這樣做的輪胎方式是錯誤的。
有人可以幫我嗎?如何使用mysql查詢結果填充activedataprovider對象。
謝謝您的時間
感謝它工作:)。只需要注意一點:您忘記了一些無用的代碼(可能來自複製粘貼):「返回新的CActiveDataProvider($ this,array( 'criteria'=> $ criteria, ));」我還有一個問題,爲什麼我應該直接使用「get_class($ model)」而不是類名? –
我已經刪除了返回:D ...從複製/粘貼....我使用的get_class,因爲您需要將對象發送給CActiveDataProvider作爲第一個參數,並且在您的代碼中使用$ this,因爲您的函數是在模型內寫入的類)並且不需要使用get_class – TotPeRo