Bonjour,
Je suis fasse un problème que je n'arrive pas à resoudre. C'est une jointure entre trois tables. Je ne suis même pas sur que la troisième doit être jointe.
Ce que j'ai
- Items (liste d'articles des utilisateurs)
- Users (liste d'utilisateurs)
- Item_Favoris (liste des articles en favoris par chaque utilisateur)
Entre Items et Users c'est assez simple. (J'utilise laravel 5.2)
left join `Item_Favoris` on `Item_Favoris`.`item_id` = `items`.`id`
Ce que j'aimerais
Maintenant arrive la troisième table Item_Favoris. Cette table permet de mettre en favoris les Items par utilisateur.
Elles possèdes les champs id, item_id et user_id.
Ce que j'aimerais c'est : Si dans la table Item_Favoris il existe une entrée, ajouter is_favoris: 1 dans le resultat de la liste d'article. Autrement is_favoris: 0
{
"data":
[
{
"id": 1,
"user_id": 1,
"username": "Louis",
"brand": "Zara",
"size": 16,
"price": "50",
"is_favoris": 1
},
{
"id": 2,
"user_id": 1,
"username": "Louis",
"brand": "Adidas",
"size": 23,
"price": "16",
"is_favoris": 0
}
]
}
Ce que j'obtiens
J'obtiens un peu de tout car j'ai tout essayé (left join, CASE WHEN, whereIn, etc.).