Laravel Eloquent,使用 whereIn 获取 ids 数组中的所有数据?

这是我的代码:


$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是一个 id 表。


$conciergerieSelect是一个身份证。


我尝试使用 whereIn,但出现错误:“提供的 foreach() 无效”谢谢。


温温酱
浏览 182回答 2
2回答

aluckdog

whereInLaravel 提供的方法接受一个数组作为第二个参数。请将子句中的$conciergerieSelect变量替换为:[$conciergerieSelect]whereIn//...->whereIn('conciergerie_ids', [$conciergerieSelect])

qq_遁去的一_1

在您的帮助下,这里的工作代码:$search = request()->get('search');$conciergerieSelect = request()->get('conciergerie');$services = Service::get();$prestations = Prestation::with([&nbsp; &nbsp; 'service:name'])->whereIn('conciergerie_ids', [$conciergerieSelect]) <--&nbsp;->where('name', 'regexp', "/$search/i")->paginate(100);return $res = [&nbsp; &nbsp; 'prestations' => $prestations,&nbsp; &nbsp; 'services' => $services];
打开App,查看更多内容
随时随地看视频慕课网APP