【发布时间】:2020-12-15 01:37:49
【问题描述】:
假设我有一个博客模型、帖子模型和一个照片模型。
- 一个博客可以有很多帖子。
- 帖子属于博客。
- 一个帖子属于许多照片。
- 一张照片属于许多帖子。
posts Table
id | blog_id | text
photos Table
id | text
photo_post Table
post_id | photo_id
我要做的是在指定的博客上找到一个特定的帖子,上面有两张特定的照片。
我正在努力用 Eloquent 检索这条 Post 记录。
$post = Post::where('blog_id', $blog->id)
->whereHas('photos', function($q) {
$q->where('photo_id', 180)->where('photo_id', 181);
})->firstOrFail();
每个博客只有一个实例,其中两张照片在一篇文章中使用。
有什么建议吗?
【问题讨论】:
-
那么您遇到的查询问题是什么
-
它不工作。
-
我已经在数据库中验证了记录是用来提取这个的。
-
当你使用
$q->where('photo_id', 180)->where('photo_id', 181);时,它就像WHERE photo_id = 180 AND photo_id = 181,所以它自然不会起作用。已使用whereIn发布了答案