1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Deutsch
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Laravel Eloquent Relationsships

    • Erledigt
  • PixelPatron
  • 21. Dezember 2023 um 19:44
  • Geschlossen
  • Erledigt
  • PixelPatron
    20
    PixelPatron
    github.com/pixelpatron90
    Reaktionen
    164
    Punkte
    4.049
    Beiträge
    718
    Einträge
    3
    • 21. Dezember 2023 um 19:44
    • #1

    Hey,

    wie der TItel schon aussagt bräuchte ich Hilfe bei einem bzw zwei Model in meiner Laravel App. Eigentlich ein Kinderspiel aber aus irgendeinem Grund habe ich den Überblick verloren und würde mich freuen wenn mir kurz jemand beim denken helfen kann ->

    Ich habe 2 Models, Articles und Categorys - in der Article Tabelle .. wenn wunderst speichere ich alle Article .. in der Category Tabelle ebend alle Kategorien. Ich komme einfach nicht mehr dazu die 2 Tabellen so zu verbinden das ich zu jeder Categorys auch die entsprechenden Article dazu bekomme.

    Oft gesehen oft gemacht und dann vergessen .. vielleicht weiss jemand ne kurze Denkhilfe :winking_face: :red_heart:

    pixelpatron-100000?style=for-the-badge&logo=X&logoColor=white&labelColor=000000&color=FF0000 pixel_patron-100000?style=for-the-badge&logo=Discord&logoColor=white&labelColor=000000&color=FF0000 pixelpatron90-100000?style=for-the-badge&logo=GitHub&logoColor=white&labelColor=black&color=FF0000

    https://evarioo.eu/

  • Syntafin
    27
    Syntafin
    LISTstack Dev
    Reaktionen
    498
    Punkte
    7.768
    Trophäen
    2
    Beiträge
    1.411
    • 21. Dezember 2023 um 20:56
    • #2

    Meinst du eine hasMany bzw. belongsTo Relation?

    Da jetzt am Handy, Mal eben fix kopiert von mir:

    Code
        public function category(): BelongsTo
            {
                    return $this->belongsTo(Category::class);
                        }

    Dann könntest du in dem Fall einfach $post->category(); das Model der Kategorie erhalten bei einem post.

    A red dragon falls from the heavens... Ah, that memory has been lost. A shame. It was a favorite of mine...

  • PixelPatron
    20
    PixelPatron
    github.com/pixelpatron90
    Reaktionen
    164
    Punkte
    4.049
    Beiträge
    718
    Einträge
    3
    • 21. Dezember 2023 um 21:11
    • #3

    Also die Abhängigkeit in den Modellen funktioniert das Problem was ich habe ist ich bekomme die Abfrage in die views nicht rein.

    Was ich aktuell versuche: Habe eine Seite auf der stehen ALLE Kategorien die es so gibt. Unabhängig von Post Type also egal ob es ein Artikel ist oder eine Referenz zb. Jetzt rufe ich die Seite auf: http://www.example.de/categorys/{slug} .. sagen wir als Slug einfach mal allgemein.

    Lara geht also los und schau ob sie den Slug in der Kategorie Tabelle finden kann wenn ja dann soll sie mir bitte

    Kategorienamen -> Beschreibung

    Post 1

    Post 2

    anzeigen.

    Laut meinem Screenshot stimmt meine Abfrage aber ich bekomme keinen Zugriff auf die Daten .. entweder gibt er mir einen Eloquent Fehler aus oder zeigt null an .. :frowning_face:

    Danke für deine Hilfe :winking_face:

    Nachtrag um 21:27 Uhr:

    Code
    <x-app-layout>
        <div class="bg-primary-c p-4 border border-primary-custom" id="articles_wrapper">
            <h1>{{ __('categorys.PageTitle') }}</h1>
            <section class="content">
                @foreach($categorys as $category)
                    {{ $category->name }}
                @endforeach
            </section>
        </div>
    </x-app-layout>

    Das ist meine Bladeview .. erstmal nur so weit das ich quasi den Kategorie Namen hinbekomme aber selbst den gibt er mir nicht aus!

    Controller:

    Code
    $categorys = Category::with('articles')->where('slug',$slug)->first();
    //dd($categorys);
    return view('categorys.show',compact('categorys'));

    Ich denke das der Fehler in der Abfrage liegt .. :frowning_face:

    Bilder

    • Screenshot_1.png
      • 13,3 kB
      • 470 × 288

    pixelpatron-100000?style=for-the-badge&logo=X&logoColor=white&labelColor=000000&color=FF0000 pixel_patron-100000?style=for-the-badge&logo=Discord&logoColor=white&labelColor=000000&color=FF0000 pixelpatron90-100000?style=for-the-badge&logo=GitHub&logoColor=white&labelColor=black&color=FF0000

    https://evarioo.eu/

    Einmal editiert, zuletzt von PixelPatron (21. Dezember 2023 um 21:28)

  • Syntafin
    27
    Syntafin
    LISTstack Dev
    Reaktionen
    498
    Punkte
    7.768
    Trophäen
    2
    Beiträge
    1.411
    • 21. Dezember 2023 um 21:54
    • #4

    Ich hab gerade noch etwas Probleme dein Anliegen wohl zu verstehen.

    Willst du eine Übersicht wo alle Kategorien aufgelistet sind? Oder meinst du das du alle Artikel die der Kategorie zugewiesen sind haben willst?

    A red dragon falls from the heavens... Ah, that memory has been lost. A shame. It was a favorite of mine...

  • PixelPatron
    20
    PixelPatron
    github.com/pixelpatron90
    Reaktionen
    164
    Punkte
    4.049
    Beiträge
    718
    Einträge
    3
    • 21. Dezember 2023 um 21:57
    • #5

    Also .. ich habe eine Auflistung aller Kategorien unter http://domain.de/categorys -> funktioniert einwandfrei

    Jetzt möchte ich gerne unter http://domain.de/categorys/{slug} (im Test allgemein) die jeweilige Kategorie MIT allen Posts haben ..

    pixelpatron-100000?style=for-the-badge&logo=X&logoColor=white&labelColor=000000&color=FF0000 pixel_patron-100000?style=for-the-badge&logo=Discord&logoColor=white&labelColor=000000&color=FF0000 pixelpatron90-100000?style=for-the-badge&logo=GitHub&logoColor=white&labelColor=black&color=FF0000

    https://evarioo.eu/

  • Syntafin
    27
    Syntafin
    LISTstack Dev
    Reaktionen
    498
    Punkte
    7.768
    Trophäen
    2
    Beiträge
    1.411
    • 21. Dezember 2023 um 22:13
    • #6

    Ich gehe jetzt einfach von dem Teil des Codes aus den ich kenne:

    PHP
    @foreach($categories->posts())
       // Deine Template Code
    @endforeach

    Kleiner Tipp übrigens, mit @lang gibt's auch eine Blade Direktive für i18n :)

    A red dragon falls from the heavens... Ah, that memory has been lost. A shame. It was a favorite of mine...

  • PixelPatron
    20
    PixelPatron
    github.com/pixelpatron90
    Reaktionen
    164
    Punkte
    4.049
    Beiträge
    718
    Einträge
    3
    • 21. Dezember 2023 um 22:15
    • #7

    Den letzten satz verstehe ich nicht :grinning_face_with_smiling_eyes: bin mir bewusst das es eine übersetzung gibt aber wie kommt du drauf das ich das nicht nutze? :grinning_face_with_smiling_eyes:

    pixelpatron-100000?style=for-the-badge&logo=X&logoColor=white&labelColor=000000&color=FF0000 pixel_patron-100000?style=for-the-badge&logo=Discord&logoColor=white&labelColor=000000&color=FF0000 pixelpatron90-100000?style=for-the-badge&logo=GitHub&logoColor=white&labelColor=black&color=FF0000

    https://evarioo.eu/

  • Syntafin
    27
    Syntafin
    LISTstack Dev
    Reaktionen
    498
    Punkte
    7.768
    Trophäen
    2
    Beiträge
    1.411
    • 21. Dezember 2023 um 22:24
    • #8

    Von da XD:

    Code
    <h1>{{ __('categorys.PageTitle') }}</h1>

    War auch nur als Tipp gemeint, war mir damals immer lieber die Blade Direktive statt es über Echos zu machen.

    A red dragon falls from the heavens... Ah, that memory has been lost. A shame. It was a favorite of mine...

  • PixelPatron
    20
    PixelPatron
    github.com/pixelpatron90
    Reaktionen
    164
    Punkte
    4.049
    Beiträge
    718
    Einträge
    3
    • 21. Dezember 2023 um 22:29
    • #9

    Achsoooo meinst du das :grinning_squinting_face: haha ja das stimmt .. ich sitze aber wie gesagt schon seit Tagen an dem Code und klatsche den da grade so rein. Muss später nochmal drüber und alles ändern was mist aussieht.

    Hast recht aber am ende des tages ist wichtig das es übersetzt wird :grinning_squinting_face: Danke für den Tipp :winking_face:

    Hier findet ihr die Lösung und falls es dazu Fragen gibt einfach im Forum ein neues Thema eröffnen. DANKE an Syntafin für die Denkstütze :) https://gist.github.com/evarioooo/a4ee…be7cf3a32928ace

    pixelpatron-100000?style=for-the-badge&logo=X&logoColor=white&labelColor=000000&color=FF0000 pixel_patron-100000?style=for-the-badge&logo=Discord&logoColor=white&labelColor=000000&color=FF0000 pixelpatron90-100000?style=for-the-badge&logo=GitHub&logoColor=white&labelColor=black&color=FF0000

    https://evarioo.eu/

    4 Mal editiert, zuletzt von PixelPatron (25. Dezember 2023 um 19:42)

  • Syntafin
    27
    Syntafin
    LISTstack Dev
    Reaktionen
    498
    Punkte
    7.768
    Trophäen
    2
    Beiträge
    1.411
    • 25. Dezember 2023 um 19:55
    • #10

    Kleiner Tipp übrigens, für deinen Controller, sieht schöner aus und ist einfacher zu warten:

    PHP
    public function show(ArticleCategorys $category)
    {
      
    	return view('categorys.show', [
    		'categories' => $category
    	]);
    }

    A red dragon falls from the heavens... Ah, that memory has been lost. A shame. It was a favorite of mine...

  • PixelPatron
    20
    PixelPatron
    github.com/pixelpatron90
    Reaktionen
    164
    Punkte
    4.049
    Beiträge
    718
    Einträge
    3
    • 25. Dezember 2023 um 20:19
    • #11

    Gibt's denn dazu vor oder Nachteile gegenüber meinem Code? Nur aus Neugier.

    pixelpatron-100000?style=for-the-badge&logo=X&logoColor=white&labelColor=000000&color=FF0000 pixel_patron-100000?style=for-the-badge&logo=Discord&logoColor=white&labelColor=000000&color=FF0000 pixelpatron90-100000?style=for-the-badge&logo=GitHub&logoColor=white&labelColor=black&color=FF0000

    https://evarioo.eu/

  • Syntafin
    27
    Syntafin
    LISTstack Dev
    Reaktionen
    498
    Punkte
    7.768
    Trophäen
    2
    Beiträge
    1.411
    • 26. Dezember 2023 um 02:49
    • #12

    compact() ist eher dafür gedacht mehrere Arrays zu Gruppieren.

    Ja dadurch kann man mit einem Aufruf auch eben mehrere Objects und Arrays an eine View übergeben, macht sich damit aber auch den Code schwerer lesbar, da man zB nicht bestimmen kann unter welcher Variable etwas im View verfügbar wird bzw. man fügt einen weiteren Cast der Attribute evtl. durch (Object -> Array zB).

    A red dragon falls from the heavens... Ah, that memory has been lost. A shame. It was a favorite of mine...

  • Informatik-Forum
    4
    Informatik-Forum
    YOUR ♥ FOR TECH
    Punkte
    105
    Beiträge
    21
    • 24. Mai 2024 um 13:00
    • #13

    Das Thema wurde als erledigt markiert und wird somit geschlossen.

  • Informatik-Forum 24. Mai 2024 um 13:00

    Hat das Thema geschlossen.
  • Informatik-Forum 24. Mai 2024 um 15:35

    Hat das Label Erledigt hinzugefügt.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung

  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  • Deutsch
  • English
Zitat speichern