Yii2 如何在GridView中从2表关系中筛选
这里需要帮助。。 我正在尝试从2表关系查看gridview。我成功地将第一个表中的数据检索到gridview中,但没有成为过滤器。到目前为止,这就是我所做的Yii2 如何在GridView中从2表关系中筛选,yii2,Yii2,这里需要帮助。。 我正在尝试从2表关系查看gridview。我成功地将第一个表中的数据检索到gridview中,但没有成为过滤器。到目前为止,这就是我所做的 public function search($params) { $query = Smwp::find() ->joinWith('mfwpData'); // add conditions that should always apply
public function search($params)
{
$query = Smwp::find()
->joinWith('mfwpData');
// 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,
'id_sm_wp' => $this->id_sm_wp,
'tgl_surat' => $this->tgl_surat,
'tgl_terima' => $this->tgl_terima,
'tgl_cetak' => $this->tgl_cetak,
'no_agenda' => $this->no_agenda,
'index_hal' => $this->index_hal,
'index_cetak' => $this->index_cetak,
]);
$query->andFilterWhere(['like', 'no_surat', $this->no_surat])
->andFilterWhere(['like', 'judul_hal', $this->judul_hal])
->andFilterWhere(['like', 'lokasi_scan', $this->lokasi_scan])
->andFilterWhere(['like', 'ket_dispo', $this->ket_dispo])
->andFilterWhere(['like', 'mfwpData.npwp', $this->id_mfwp])
;
return $dataProvider;
}
这里是规则函数。iam将id_mfwp插入安全部件
public function rules()
{
return [
[['id', 'id_sm_wp', 'no_agenda', 'index_hal', 'index_cetak'],
'integer'],
[['tgl_surat', 'tgl_terima', 'tgl_cetak', 'no_surat', 'judul_hal',
'lokasi_scan', 'ket_dispo', 'íd_mfwp'], 'safe'],
];
}
这是我在模型中的关系
public function getMfwpData()
{
return $this->hasOne(Mfwp::className(), ['id' => 'id_sm_wp']);
}
public function getNamaUser()
{
return $this->hasOne(Mfwp::className(), ['id' => 'id_sm_wp'])-
>with(['pejabat']);
}
下面是我索引中的代码:
['attribute'=>'id_mfwp',
'label'=>'NPWP',
'format'=>'raw',
'value'=>'mfwpData.npwp'],
['attribute'=>'id_mfwp',
'label'=>'Nama Wajib Pajak',
'format'=>'raw',
'value'=>'mfwpData.nama_wp'],
['attribute'=>'id_mfwp',
'label'=>'Nama AR',
'format'=>'raw',
'value'=>'namaUser.pejabat.nama'],
我仍然无法在gridview中显示筛选器。感谢您的帮助所以您的问题是如何使用关系对gridview进行排序?并且您对gridview中的所有3列都使用了相同的属性,这是不正确的。请参阅本文并相应地调整搜索。这是一个多么棒的搜索啊。。现在我知道你是易学大师。。为什么我不能在最后6小时内搜索此页面?谢谢我的兄弟。。愿真主赐予你仁慈和巴罗卡..请帮我回答下一个问题..哈哈