Je suis coincé dans la construction d'une requête où je dois sélectionner des éléments du tableau 1 si la condition est remplie sur la table 2 et la table 3.Laravel [QUERY] comment sélectionner le contenu du tableau 1 où la condition doit se rencontrer dans le tableau 2 et le tableau 3
J'ai ces trois tableaux:
company -> company_id, name, location
services -> company_id, service_id, service_name
date -> service_id, service_date //should i include company_id here?
Je veux sélectionner société -> nom et l'emplacement si les matches de recherche services-> nom_du_service et date-> service_date.
Comment joindre les tables pour obtenir le résultat souhaité?
Qu'est-ce que vous vous déjà essayé de le faire? Veuillez consulter [Comment poser une bonne question] (https://stackoverflow.com/help/how-to-ask). Votre question doit inclure un aperçu clair de votre problème de * codage * spécifique, un résumé de ce que vous avez déjà essayé et le code approprié dans un [exemple minimal, complet et vérifiable] (https://stackoverflow.com/help/mcve), nous avons donc assez d'informations pour pouvoir vous aider. – FluffyKitten
Vous ne devriez pas avoir une table uniquement dans le but de stocker un horodatage (c'est-à-dire se débarrasser de la table 'date'). Faites du champ 'service_date' une partie de la table' services' et joignez 'company' et' services' sur 'company_id' avec une clause WHERE qui spécifie une plage de dates et/ou un' service_name'. – chb
@chb Mais un service peut avoir plusieurs dates, et il y a aussi un temps associé, donc je pense que la normalisation est nécessaire. – zuif