php - Laravel WhereIn 数组只返回第一个索引结果
问题描述
$dean_ids = Auth::user()->dean_id; // "9,11"
$subjects = Subject::whereIn('dean_id', [$dean_ids])->select('id')->get();
仅返回“9”的数据,但是当我这样尝试时:
$subjects = Subject::whereIn('dean_id', [9,11])->select('id')->get();
//it returns all data that what i want.
我该如何解决?
解决方案
如我所见,这一行$dean_ids = Auth::user()->dean_id;
返回一个逗号分隔的字符串。因此,当您$dean_ids
使用[$dean_ids]
它创建数组时,实际上会创建一个数组,例如:
array(
'9,11'
)
代替
array(
9,
11
)
数组中只有一个值。所以你可以做的只是使用explode
逗号分割字符串,它还返回一个数组。
你可以试试这个:
$subjects = Subject::whereIn('dean_id', explode(',', $dean_ids))->select('id')->get();
推荐阅读
- reactjs - 在 Material UI 菜单组件中禁用“通过键入选择”
- freetype - 这个 FreeType2 错误代码是什么意思?
- java - 使用 Git、构建工具和 CI/CD 工具对应用程序进行版本控制的最佳实践
- ios - 应用程序在 Expo Go iOS 和 TestFlight 上随机崩溃,出现 EXC_CRASH (SIGABRT)
- c# - 当我使用多台显示器并且每台显示器都有各自的分辨率时,我的图片框无法正常工作
- flask - 我正在尝试使用 Flask 删除一篇文章,但出现 KeyError
- node.js - mac上的节点版本管理器问题
- facebook-graph-api - Facebook (Instagram) Graph API 未返回 instagram_business_account
- filter - 如何添加静态筛选条件以及用户选择的条件来筛选 Power BI 中的表?
- css - 如何更改选择文件按钮(wordpress)的颜色?