如何将数组传递给laravel雄辩的where子句?

时间:2019-07-16 08:33:05

标签: php laravel

让我说我有这个ID数组[3,4,5],我是从这个雄辩的人那里得到的...

$route = Route::where('station_id',$stations_id)
                ->pluck('id')->toArray();

所以,我想在where子句中使用此数组以从每个路线获取每个时间表,而我确实是这样的:

$schedule = Schedule::select('id')
                ->where('route_id',$route)
                ->get();

问题在于这仅显示了一条路线的时间表ID。

4 个答案:

答案 0 :(得分:2)

使用whereIn

$schedule = Schedule::select('id')
            ->whereIn('route_id', $route)
            ->get();

答案 1 :(得分:2)

如果您要在其中获取所有这些ID的数组,则可以使用whereIn()

$schedule = Schedule::select('id')
                ->whereIn('route_id', $route)
                ->get();

尽管如此,您可以使用Eloquent中的关系来定义车站路线和时间表之间的关系,这将使获取所有关系数据变得更加容易,请参见下面的链接。

答案 2 :(得分:2)

使用whereIn

$schedule = Schedule::whereIn('route_id',$route)
                ->pluck('id');

答案 3 :(得分:1)

->whereIn代替->where

$schedule = Schedule::select('id')
        ->whereIn('route_id', $route)
        ->get();