Laravel Eloquent,用whereIn获取ids数组中的所有数据?
Laravel Eloquent, get all datas in ids array with whereIn?
这是我的代码:
$search = request()->get('search');
$conciergerieSelect = request()->get('conciergerie');
$services = Service::get();
$prestations = Prestation::with([
'service:name'
])
->whereIn('conciergerie_ids', $conciergerieSelect)
->where('name', 'regexp', "/$search/i")
->paginate(100);
return $res = [
'prestations' => $prestations,
'services' => $services
];
我需要获取所有 conciergerie_ids
等于 $conciergerieSelect
的预站。
conciergerie_ids
是 table 个 ID。
$conciergerieSelect
是一个id。
我尝试使用 whereIn 但出现错误:"Invalid supplied foreach()"
谢谢。
Laravel提供的whereIn
方法接受一个数组作为第二个参数。
请将 whereIn
子句中的 $conciergerieSelect
变量替换为 [$conciergerieSelect]
:
//...
->whereIn('conciergerie_ids', [$conciergerieSelect])
这是您帮助下的工作代码:
$search = request()->get('search');
$conciergerieSelect = request()->get('conciergerie');
$services = Service::get();
$prestations = Prestation::with([
'service:name'
])
->whereIn('conciergerie_ids', [$conciergerieSelect]) <--
->where('name', 'regexp', "/$search/i")
->paginate(100);
return $res = [
'prestations' => $prestations,
'services' => $services
];
这是我的代码:
$search = request()->get('search');
$conciergerieSelect = request()->get('conciergerie');
$services = Service::get();
$prestations = Prestation::with([
'service:name'
])
->whereIn('conciergerie_ids', $conciergerieSelect)
->where('name', 'regexp', "/$search/i")
->paginate(100);
return $res = [
'prestations' => $prestations,
'services' => $services
];
我需要获取所有 conciergerie_ids
等于 $conciergerieSelect
的预站。
conciergerie_ids
是 table 个 ID。
$conciergerieSelect
是一个id。
我尝试使用 whereIn 但出现错误:"Invalid supplied foreach()" 谢谢。
Laravel提供的whereIn
方法接受一个数组作为第二个参数。
请将 whereIn
子句中的 $conciergerieSelect
变量替换为 [$conciergerieSelect]
:
//...
->whereIn('conciergerie_ids', [$conciergerieSelect])
这是您帮助下的工作代码:
$search = request()->get('search');
$conciergerieSelect = request()->get('conciergerie');
$services = Service::get();
$prestations = Prestation::with([
'service:name'
])
->whereIn('conciergerie_ids', [$conciergerieSelect]) <--
->where('name', 'regexp', "/$search/i")
->paginate(100);
return $res = [
'prestations' => $prestations,
'services' => $services
];