首页 > 代码库 > yii2 hasOne, 在列表显示分类名称
yii2 hasOne, 在列表显示分类名称
分类表: category:[‘cid‘, ‘parent‘,‘category‘...]
新闻表:news: [‘id‘, ‘cid‘, ‘title‘...]
建立news与category的关系:使用gii的crud会自动生成如下代码:
Category:
public function getNews() { return $this->hasMany(News::className(), [‘cid‘ => ‘cid‘]); }
News:
public function getC() { return $this->hasOne(Category::className(), [‘cid‘ => ‘cid‘]); }
修改NewsController的index:
$dataProvider = new ActiveDataProvider([ ‘query‘ => News::find(), ]);
修改为:
$dataProvider = new ActiveDataProvider([ ‘query‘ => News::find()->with(‘c‘), //c即News: getC() ]);
然后再列表修改显示:
<?= GridView::widget([ ‘dataProvider‘ => $dataProvider, ‘columns‘ => [ [‘class‘ => ‘yii\grid\SerialColumn‘], ‘id‘, ‘c.category‘, //c.category就是分类名称 ‘title‘, ‘content:ntext‘, //‘image‘, // ‘keywords‘, // ‘description‘, [ ‘attribute‘ => ‘create_time‘, ‘format‘ => [‘date‘, ‘Y-m-d‘], ], // ‘update_time:datetime‘, ‘status‘, // ‘out_link‘, ‘sort‘, ‘click‘, // ‘lang‘, [‘class‘ => ‘yii\grid\ActionColumn‘], ], ]); ?>
yii2 hasOne, 在列表显示分类名称
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。