我坚持将这个 SQL 查询转换为 Laravel 中的 Eloquent 查询。 SQL 查询有效(在 Sequel 中测试),但我无法用 eloquent 编写它...
SELECT faqs.question FROM faqs
JOIN categories c ON c.id = faqs.category_id
WHERE c.subsite = 'sport'
这是我到目前为止所尝试的,但它返回所有问题,(忽略子站点过滤器)。
$cat = Faq::with(['category' => function($query) use ($subsite) {
$query->where('subsite', $subsite);
}])->get();
谢谢您的帮助
最佳答案
试试这个
$cat = Faq::query();
if (isset($subsite) && !empty($subsite) {
$query->whereHas('category', function ($query) use ($subsite) {
$query->where('subsite', $subsite);
});
}
$query->with('category')->get();
关于sql - Laravel Eloquent 在哪里与关系,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43887438/