私の要件では、私はリレーショナルデータを持つgridviewをリストしたい、私は2つのテーブルtbl_work(id、workid、cdr_id(tbl_cd)のforeign_key)とtbl_cd(ID、呼び出し元、 )。すべての列のYii2グリッド関係のデータ検索
の作業モデルとcdモデルでは1つの関係があります。 その後、私は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テーブルのすべての列を使用
検索方法のあなたの完全なコードを投稿してください。 – GAMITG