Ich verwende die folgende Query Builder:Wie schreibe ich SQL-Abfrage in Laravel?
$res = Announcement::whereExists(function ($query) {
$query->select(DB::raw(1))
->from('announcement_category')
->join('user_category', 'user_category.category_id', '=', 'announcement_category.category_id')
->where('user_category.user_id', 1)
->where('announcement_category.announcement_id', '=', 'announcements.id')
->whereNull('deleted_at');
})->get();
Wie diese Abfrage neu zu schreiben, kurze Form mit with
:
Announcement::with("announcement_category")...
Da in dieser Abfrage Bauer conditon und where delete_at NOT null
am Ende addiert, und es funktioniert falsch.
Beziehungen zwischen Tabellen:
Announcement Announcement_category User_category
_____________ ____________________________ _______________
id | name announcement_id | category_id user_id | category_id
1) Announcement
kann eine oder mehrere Kategorien (Announcement has many Announcement_category)
2) Der Benutzer kann eine oder mehrere Kategorien
3) User_category
ist verwandt mit Announcement_category
durch category_id = category_id
Können Sie die Beziehungen anzeigen, die Sie zwischen "Ansage", "Ansagekategorie" und "Benutzer" eingerichtet haben? –
Ja, schau aktualisiert Frage – Darama
Wer kann mir helfen? – Darama