我是yii2的新人。我对表关系知之甚少。我有3桌商店促销和promotion_details。 promotion_details包含促销ID和商店ID。促销具有活动或非活动状态。我希望在商店视图中只显示有效的促销活动。我怎样才能做到这一点?提前致谢
答案 0 :(得分:0)
在promotion_detail视图中,为关系添加getter函数,为字段添加getter函数
/* ActiveRelation */
public function getPropomition()
{
return $this->hasOne(Promotion::className(), ['id' => 'promotion_id']);
}
/* Getter for status name */
public function getStatus() {
return $this->prpmotion->status;
}
在视图中
echo GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
'id',
.......
'status',
['class' => 'yii\grid\ActionColumn'],
]
]);
本指南可能很有用http://www.yiiframework.com/wiki/621/filter-sort-by-calculated-related-fields-in-gridview-yii-2-0/