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*from
doctors
where
id
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();