为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel WhereIn 数组只返回第一个索引结果

Laravel WhereIn 数组只返回第一个索引结果

PHP
慕斯王 2023-04-15 17:45:19
$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.
查看完整描述

1 回答

?
慕姐4208626

TA贡献1852条经验 获得超7个赞

如我所见,此行$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();



查看完整回答
反对 回复 2023-04-15
  • 1 回答
  • 0 关注
  • 203 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信