【发布时间】:2021-05-11 18:00:17
【问题描述】:
我有一个包含帖子的帖子表,而 media_images 包含与特定帖子相关的图像。这是我正在使用的关系,但在目前的情况下,如果帖子没有图像,则不会返回任何帖子,但我也想在没有图像的情况下返回帖子。
$where[] = ['category_id', '=', $request->category_id];
return Posts::where($where)->with('media_images', 'category')->WhereHas('media_images', function ($query) use ($media_id) {
if (!empty($media_id)) {
$query->InMediaId($media_id);
}
})->paginate(10);
【问题讨论】:
-
whereHas('media_images') 将仅显示带有 media_images 的帖子。但如果您想要所有帖子,请考虑改用 leftJoin('media_images')。
标签: laravel laravel-5 eloquent laravel-4