码迷,mamicode.com
首页 > 其他好文 > 详细

yii2 hasOne, 在列表显示分类名称

时间:2017-07-11 23:16:06      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:yii   hasone   hasmany   

分类表: 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, 在列表显示分类名称

标签:yii   hasone   hasmany   

原文地址:http://tang05709.blog.51cto.com/7146932/1946422

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!