我收到所有有类别的文章,我有一个子查询来指定这个类别:
Article::whereHas('category', function($q) use ($categorySlug) {
$q->where('slug', $categorySlug);
})->get();
每个类别都有一个父类别,我需要从slug中找出父类别,并在子查询中使用父类别,如:
Article::whereHas('category', function($q) use ($categorySlug) {
$cat = Category::where('slug', $categorySlug)->first();
$q->where('category_id', $cat->parent_id);
})->get();
但有更有效的方法吗?如何在where子句中执行parent_id查找?
答案 0 :(得分:-1)
我看到你想通过slug搜索从类别表中获取文章数据,所以你可以加入表来获得结果
$articles = Article::join('category', 'article.category_id', '=', 'category.id')
->where('category.slug','=', $categorySlug)
->get();