Heim > Backend-Entwicklung > PHP-Tutorial > Was ist der Unterschied zwischen „$model->relation();' und „$model->relation' in Laravel?

Was ist der Unterschied zwischen „$model->relation();' und „$model->relation' in Laravel?

Linda Hamilton
Freigeben: 2024-11-02 20:08:02
Original
764 Leute haben es durchsucht

What is the difference between `$model->relation();` und `$model->relation` in Laravel? 
relation();` und `$model->relation` in Laravel? " />

Den Unterschied zwischen „$model->relation();“ und „$model->relation“ verstehen

In Laravel der Unterschied zwischen „$model->relation();“ und „$model->relation“ liegt in der Art des zurückgegebenen Ergebnisses:

“$model->relation();“ gibt das Beziehungsobjekt selbst zurück. Dies kann nützlich sein, wenn Sie zusätzliche Vorgänge für die Beziehung ausführen müssen, z. B. die Angabe zusätzlicher Bedingungen oder Einschränkungen.

"$model->relation" gibt das Ergebnis der Beziehung zurück. Dies ist normalerweise ein Array von Modellen oder ein Sammlungsobjekt, das die Daten enthält, die Sie in den meisten Fällen verwenden möchten.

Beispiel Implementierung

Um in Ihrem spezifischen Szenario eine Liste der Händler für ein Geschäft und ihrer jeweiligen Biere zu erhalten, können Sie den folgenden Ansatz verwenden:

<code class="php">$store = $this->store->find($id)->first();
$distributors = $store->distributors;
$beers = [];

foreach ($distributors as $distributor) {
    $beers = array_merge($distributor->beers->lists('name', 'id'), $beers);
}</code>
Nach dem Login kopieren

Hier ist die Aufschlüsselung von Der Code:

  • $store->distributors lädt die Beziehung, führt die Abfrage jedoch nicht aus. Er gibt das Beziehungsobjekt zurück.
  • $distributor->beers ruft die zugehörigen Biere ab an jeden Verteiler.
  • ->lists('name', 'id') extrahiert nur die Biernamen und IDs aus dem Ergebnis.
  • Die äußere foreach-Schleife durchläuft die Verteiler und führt sie zusammen Das Bier wird im Array $beers aufgeführt.

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen „$model->relation();' und „$model->relation' in Laravel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage