我坚持将这个 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/

10-11 16:32