我有2个表格书和类别,并希望加入图书类别
LEFT JOIN categories ON books.category_id = category.id
Books::find()
->joinWith('category', true, 'LEFT JOIN');
如何设置colums books.category_id = category.id
,因为它不是主键。
答案 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