【发布时间】:2016-03-23 10:06:02
【问题描述】:
在我的要求中,我想列出带有关系数据的 gridview,我有两个表 tbl_work(id,workid,cdr_id(foreign_key of tbl_cd)) 和 tbl_cd(id,caller, called)。
在具有hasone 关系的工作模型和cd 模型中。 然后我用 tb_work 表创建了一个网格并显示 tbl_cd 表记录。
工作模型中的搜索功能
$query = AuditorWorkItems::find();
$query->with("cd");
// add conditions that should always apply here
$dataProvider = new ActiveDataProvider([
'query' => $query,
]);
$this->load($params);
if (!$this->validate()) {
// uncomment the following line if you do not want to return any records when validation fails
// $query->where('0=1');
return $dataProvider;
}
// grid filtering conditions
$query->andFilterWhere([
'id' => $this->id,
'workid' => $this->workid,
'cdr_id' => $this->cdr_id
]);
return $dataProvider;
在我的网格中
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
[
'attribute' => 'cdr_id',
'value' => function ($model) {
return $model->cdr->called;
},
],
[
'attribute' => 'cdr_id',
'value' => function ($model) {
return $model->cdr->caller;
},
],
它显示了被调用者和调用者的值,但过滤器不起作用,你有什么其他想法可以用 tbl_cd 表中的所有列来实现这个
【问题讨论】:
-
发布您的搜索方法的完整代码。
标签: gridview foreign-keys yii2