Grundsätzliche Frage Eloquent DB Query

  • Guten Tag,


    ich habe ein PHP Projekt welches ich auf Laravel migrieren möchte.

    Ich bin Laravel Einsteiger, komme aber verhältnismäßig gut voran, wobei ei Profi sicherlich alles aus dem Ärmel schüttelt :-)


    Ich habe eine SQL Abfrage

    SQL
    1. SELECT `clubs`.`name`
    2. From `clubs`
    3. INNER JOIN `users` ON `users`.`defaultVerein` = `clubs`.`id`
    4. Where `users`.`id` = 1


    Diese habe ich in den DB Query umgesetzt

    Code
    1. DB::table('clubs')
    2. ->join('users', 'users.defaultVerein', '=', 'clubs.id')
    3. ->select('clubs.name')
    4. ->where('users.id', '=', Auth::id())
    5. ->get();


    So wie ich das aber jetzt alles schon bei Laravel kennen gelernt habe, gibt es doch bestimmt mit Eloquent eine noch kürzere Version?

    Gibt es irgendwo eine Möglichkeit sowas zu generieren? Eher nicht oder?

    Im Prinzip ist das eine ziemlich einfache Abfrage, die mir den Namen eines clubs ausgibt und der KEy liegt in der users Tabelle unter defaultVerein.


    Schon mal lieben Dank für die Hilfe :-)

  • Hallo Matze,
    also Du hast zwei Tabellen Clubs und User? Und möchtest Dann den Club finden, der dem User zugeordnet ist? Sehe ich das Richtig?
    Hast Du denn für den Club und für den User ein Model erstellt? Wenn ja, dann kannst Du erst einmal innerhalb der Model eine Relation herstellen...

    https://laravel.com/docs/7.x/e…-relationships#one-to-one

    Wenn Du diese dann hast, dann kannst Du im Controller dann mit Aut::user()->club auf das Model zugreifen und dann die einzelnen Werte direkt ausgeben...

    Viele Grüße

    Ben

    Code is like humor. When you have to explain it, it's bad. :)