Yii2:如何从不同的表中选择多个字段

时间:2016-01-04 21:35:38

标签: mysql yii2

我的桌子

Category
id_category
name

Post
id_post
category_id
title

我的查询:

Post::find()
->select('post.*, c.name AS catname')
->leftJoin('category c', 'c.id_category = category_id')
->all();

输出刚显示表字段 Post ,不是字段 catname

1 个答案:

答案 0 :(得分:1)

1)在Post模型中定义一个名为'category'的关系,所以:

public function getCategory() { 
     return $this->hasOne(Category::className(), ['id_category' => 'category_id']); 
}

2)然后当您查询帖子时,如果您需要获取每个帖子的类别名称,请使用“with”:

$posts = Post::find()
->with('category')
->all();

3)您可以使用以下方式访问类别名称:

$post->category->name