我想进行查询搜索: select * from task t,activity a,project p where t.activityid = a.activityid and a.projectid = p.projectid and p.userid = 25
我理解我的任务,与活动有关,所以我怎么知道创建的项目,任务与项目有关。
在我的任务视图中 -
$query1s = new Query;
$query1s->select('*')
->from('task','activity','project')
->where(['task.activityid' => 'activity.activityid'])
->andWhere(['activity.projectid' => 'project.projectid'])
->andWhere(['project.userid' => $userID]);
$command = $query1s->createCommand();
$datas = $command->queryAll();
$dataProvider = new ActiveDataProvider([
'query' => $query1s,
]);
答案 0 :(得分:0)
要实现这一点,您应该从主模型创建search model
并从主模型类扩展搜索模型类。
之后,您应该使用参数创建一个名为search
的公共方法。然后在不执行查询的情况下执行过滤并在方法中查询数据。完全创建查询后,只需将其传递给执行它的dataprovider
whitout,您就可以对该数据执行任何操作,并处理控制器中的其他内容并进行查看。
以下两个网址可以帮助您完成教程:
Filter & Sort by calculated/related fields in GridView Yii 2.0
Displaying, Sorting and Filtering Model Relations on a GridView