yii2加入非主键

时间:2015-10-05 14:07:51

标签: activerecord yii2

我有2个表格书和类别,并希望加入图书类别

LEFT JOIN categories ON books.category_id = category.id

Books::find()
            ->joinWith('category', true, 'LEFT JOIN');

如何设置colums books.category_id = category.id,因为它不是主键。

1 个答案:

答案 0 :(得分:1)

您必须将关系添加到图书模型,例如(因为我不知道你的关系类型我添加了2个正常的例子)

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

public function getCategories()
{
    return $this->hasMany(Category::className(), ['id' => 'category_id']);
}

然后你应该可以使用你的联接。 但我不知道以下问题(见链接)是否仍然合法(因为我总是添加主键)

Unable to define relationship on table missing primary key

本教程链接也有帮助 yii2 select-query-joins

相关问题