2
votes

comment passer tableau à where clause dans laravel éloquent?

Disons que j'ai ce tableau d'identifiants [3,4,5] que je reçois de cet Eloquent ...

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

Donc, je voulais pour utiliser ce tableau dans la clause where pour obtenir chaque horaire de chaque itinéraire et j'ai fait comme ceci:

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

le problème est que ceci montre les identifiants de planification d'une seule route.


0 commentaires

4 Réponses :


2
votes

Utilisez whereIn :

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


0 commentaires

3
votes

Si vous avez un tableau où vous voulez récupérer tous ces ID, vous pouvez utiliser whereIn(),

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

Cependant, cela dit - vous pouvez définir une relation entre les itinéraires de la gare et les horaires en utilisant des relations dans Eloquent - cela faciliterait plutôt l'obtention de toutes les données relationnelles, voir le lien ci-dessous.


0 commentaires

2
votes

utilisez whereIn

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


0 commentaires

1
votes

-> whereIn à la place de ->where

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


0 commentaires