我刚开始使用 Laravel 4 和 Eloquent。我有一个博客表和许多其他相关表:
blog <- main info about the blog record
blog_lang <- translations for each blog record
blog_categories <- name speaks for itself
blog_categories_lang <- translations for blog categories titles
blog_to_categories <- pivot table between blog and blog_categories
blog hasMany blog_lang.
blog_categories hasMany blog_categories_lang
blog belongsToMany blog_categories
我想在一个网格中显示以下信息:、、、和blog_id
所有类别:blog_title
username
$data['blogs'] = Blog::with(array(
'translations' => function ($q) {
$q->where('lang_id', '=', 1);
},
'user',
'categories',
'categories.translations' => function ($q) {
$q->where('lang_id', '=', 1);
}
))->get();
这会执行 5 个查询……是不是有点太多了?Fluent
将所有这些表与 1 个更大的查询一起使用和连接会更好吗?