Bonjour à tous.
Sur un site que je code, j'ai besoin de récupérer le nombre total de véhicule que possède un client, ces véhicules sont dispatchés en 5 tables (Tracteur, recolte, remorque, telescopique, autre).
Du coup, j'aimerais récupérer le nombre total de ces véhicule pour une fiche, que je récupère dans un foreach.
Ne sachant pas vraiment m'y prendre, je procède comme ceci, dans mon modèle :
public function getNbVehicule($id){
$nbVehi = Tracteur::where('id_fiche', $id)->count() + Vehicule_recolte::where('id_fiche', $id)->count()
+ Telescopique::where('id_fiche', $id)->count() + Vehicule_remorque::where('id_fiche', $id)->count()
+ Autre_vehicule::where('id_fiche', $id)->count();
return $nbVehi;
}
et je le récupère dans mon foreach :
@foreach($fiches as $fch)
<tr>
<td>{{ $fch->getNbVehicule($fch->id) }}</td>
</tr>
@endforeach
Sauf que je génère beaucoup trop de requêtes, pour chaques lignes je faire 5-6 requêtes.
Est-ce qu'il y a un moyen de diminuer le nombre de ces requêtes ?