Php 如何在Laravel SQL查询中使用where子句中的对象
假设我有一些Php 如何在Laravel SQL查询中使用where子句中的对象,php,mysql,sql,laravel,laravel-5.5,Php,Mysql,Sql,Laravel,Laravel 5.5,假设我有一些doctor\u id {doctor_id: 1} {doctor_id: 2} 现在,我想从医生表中查找所选医生id的姓名 医生表格字段包括id,姓名,地址 我的查询是 $doctors_data = Doctor::whereIn('id', $doctor_id)->get(); 但是我从log文件中得到了错误 local.ERROR:SQLSTATE[HY000]:一般错误:2031(SQL:select*fromdoctorswhereidin(?) 对此有什
doctor\u id
{doctor_id: 1}
{doctor_id: 2}
现在,我想从医生
表中查找所选医生id的姓名
医生
表格字段包括id
,姓名
,地址
我的查询是
$doctors_data = Doctor::whereIn('id', $doctor_id)->get();
但是我从log
文件中得到了错误
local.ERROR:SQLSTATE[HY000]:一般错误:2031(SQL:select*fromdoctors
whereid
in(?)
对此有什么疑问。请帮助您可以使用该方法获取给定键的值数组,您可以将其作为第二个参数传递给该方法
其中
要求第二个参数为数组
i、 e.在你的例子中,其中
应该是这样的
$doctorsData=Doctor::其中('id',[1,2])->get();
不确定您的$docter\u id
中有什么类型的对象,但问题的解决方案是,您需要将对象转换为一个id数组,然后再将其馈送到中,其中
希望你了解这个概念。如果仍然无法解决问题,您可以与我们共享您的
doctor\u id
对象,以便我们可以帮助将其转换为数组。是对象数据,集合?@linktoahef…是…您可以显示结果dd($doctor\u id)代码>
$doctorids = $doctorscollection->pluck('doctor_id');
$doctors_data = Doctor::whereIn('id', $doctorids)->get();