【发布时间】:2017-08-07 05:15:29
【问题描述】:
我有以下索引操作代码
$searchModel = new PatientTestSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
return $this->render('index', [
'dataProvider' => $dataProvider,
'searchModel' => $searchModel,
]);
patientTestSearch 中的搜索功能是
$query = PatientTest::find();
$dataProvider = new ActiveDataProvider([
'query' => $query,
'pagination' => ['pageSize' => $pagination],
'sort' => ['defaultOrder' => ['created_at' => SORT_DESC]]
]);
$query->joinWith('patient');
$query->joinWith('testGroup');
如何在上面的查询中使用组连接和分组? 我已经在控制器的操作中尝试过这个
$dataProvider->query->groupBy(['patient_id']);
但这会产生以下错误
SQLSTATE[42000]:语法错误或访问冲突:1055 SELECT 列表的表达式 #1 不在 GROUP BY 子句中,并且包含在功能上不依赖于 GROUP BY 子句中的列的非聚合列“wizlaboratory.patient_test.patient_id”;这与 sql_mode=only_full_group_by 不兼容
如果我使用 sqldataprovider,那么我不能有过滤选项。
【问题讨论】:
标签: mysql gridview activerecord yii2 dataprovider