php - Laravel 5.7 - 多对多关系 - 选择具有提供的类型 ID 数组的电影
问题描述
这是我的控制器代码:
if ($request->genre && !$request->search) {
$genres = explode(',', $request->genre);
return Movie::with('genres')->whereHas('genres', function ($q) use ($genres) {
return $q->whereIn('id', $genres);
})->paginate(10);
}
我的数据透视表包含movie_id 和genre_id。电影和流派表都不包含彼此 ID 的引用。
我需要从表中选择所有具有用户选择的流派的电影。
例如,id's = [1, 4, 9]
从包含这些流派 id 的数据透视表电影中选择的数组和。
提前致谢!
编辑:
一般问题在于return
回调内部以及我稍后处理数据的方式。感谢您的回答,我很感激!:)
解决方案
您做了错误的查询,请尝试给定的查询。
return Movie::with(['genres'])->whereHas('genres' ,function ($query) use ($genres){
$query->whereIn('id', $genres);
})->paginate(10);
推荐阅读
- java - 将 sqlite 数据库中的 blob 数据解码为人类可读的文本
- webpack - 如何在 webpack 4 中为一组入口点创建公共块?
- android - 常见问题解答视图 - 如何?
- excel - 访问:从列表框中获取价值
- firebase - 如何在 Firestore 中搜索值
- sql - 此交叉表查询底部的总计
- fix-protocol - 彭博的 Quickfix 会话设置
- python - 在该文件中进行更改后如何在python上刷新/重新加载导入的文件
- java - 微调器滚动条插入或填充
- sql - Mybatis "desc tablename" 不工作。收到错误为“设置参数时发生错误”