我正在努力解決如何在我的網格中使用過濾器時從SqlDataProvider生成它。SqlDataProvider過濾器
目前我的樣板工程,像這樣:
$sql = 'SELECT * FROM my_table';
$provider = new SqlDataProvider([
'sql' => $sql,
'params' => [':start' => $param1, ':end' => $param2],
'totalCount' => $count,
'pagination' => [
'pageSize' => 100
],
]);
return $provider;
如果沒有一個有效記錄應該如何進行?搜索車型似乎都可以基於AR,並呼籲在控制器:
$searchModel->search(Yii::$app->request->queryParams);
其中$ searchModel功能是這樣開始的:
public function search($params)
{
$query = myTable::find();
// add conditions that should always apply here
$dataProvider = new ActiveDataProvider([
'query' => $query,
]);
...
我已經開始改變搜索()函數是更多類似這樣的,但不知道我要去了解它的正確方法:
$query = new Query;
$query->select('*')
->from('my_table');
// add conditions that should always apply here
$dataProvider = new SqlDataProvider([
'sql' => $query,
'pagination' => [
'pageSize' => 100
],
]);
由於它的錯誤與
的preg_match()預計參數2是串,對象給出
謝謝,我剛剛明白了這一點 – Jonnny