【发布时间】:2019-04-21 15:27:32
【问题描述】:
我有 3 张桌子:books、categories 和 book_category。
book_category 是交叉引用表。它有这样的结构:
book_id, category_id
我需要在书本模型的创建页面上输出类别(作为复选框)。 如果我这样做,它会起作用:
// Book Model
public function getCategoriesOptions($value, $formData)
{
$categories = Category::all();
$list = array();
foreach ($categories as $category) {
$list[$category->id] = $category->name;
}
return $list;
}
但是在创建时检查的类别没有在预览、更新页面中检查。在book_category 表中,所有选中的类别都在保存。我认为问题在于人际关系。
我为book_category 表创建了模型。结果,有3个模型:
Book, Category, BookCategory。如何实现它们之间的关系?
显然,Book 可以有很多类别,因此我在Book 模型中写道:
public $hasMany = [
'categories' => 'mark\myplugin\Models\Category'
];
BookCategory 因为书籍通过book_category 表与类别链接。但是如何与其他模型一起使用?
【问题讨论】:
标签: laravel octobercms