Yii2 gridviewウィジェットを使用してデータを表示しています。
messageおよびmessage_triggerという名前の 2 つのテーブルを使用しています。
メッセージテーブルの列は,object_model
ですObject_id
。
message_triggerの列は,object_id
ですobject_name
。
グリッドは、テーブルメッセージから値を取得します。したがって、グリッド フィールドはObject_model
、Object_id
です。
今私の問題は、テーブルからのメッセージに基づいてObject_name
テーブルから表示する必要があることです。message_trigger
object_id
私のフォームでは、このようなグリッドを使用しました
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
'object_model',
'object_id',
['class' => 'yii\grid\ActionColumn', 'template' => '{view} {update} {delete} '],
],
]); ?>
私が使用したモデルでは
public function search($params){
$query = AlertTrigger::find()->where(['alert_id'=>$params['id']])->andWhere(['!=','status',2]);
$dataProvider = new ActiveDataProvider([
'query' => $query,
]);
}