2016-05-17 3 views
0

Ich möchte alle Tags, die zu ihren Domains gehören, aber ich konnte keine Antwort finden, wie ich das tun kann.Wie kann ich Daten von Pivot-Tabelle in Laravel 5 erhalten?

ich glaube, die Lösung etwas in dieser Art und Weise ist:

$domain = Domains::findOrFail($id); 

realation:

public function domains() { return $this->belongsToMany('App\Models\Domains', 'domain_tag', 'tags_id', 'domains_id')->withPivot('tags_id'); } 

und meiner Ansicht nach:

  @foreach($domains as $domain) 
       <tr> 
        <td>{{ $domain->pivot->name }}</td> 
       </tr> 
      @endforeach 

Vielen Dank für Zeit.

Antwort

0

Ich werde eine Struktur so etwas vorschlagen. Wenn Sie die Konventionen für die Benennung von Datenbanken richtig befolgen, sollten Sie nichts anderes benötigen. Sie sollten verschiedene Tabellen/Modelle für Tags und Domänen erstellen. und dann sollten Sie Pivot-Tabelle wie domains_tags (ID, Domain-ID, Tag-ID) sein

class Domain extends Model 
{ 

    public function tags(){ 
     return $this->belongsToMany('App\Tag'); 
    } 
} 



class Tag extends Model 
{ 

    public function domains(){ 
     return $this->belongsToMany('App\Domain'); 
    } 
} 


$domain = App\Domain::find(1); 

foreach ($domain->tags as $tag) { 
    // 
} 
+0

Ich habe schon das. Es ist mehr, dass ich alle Tags, die zu der Domäne gehören, möchte. Ich denke, es gibt eine Laravel-Funktion, die mir alle Tags zur richtigen Domain-ID geben kann – WellNo

+0

$ domain-> Tags gibt Ihnen nur die Tags, die zu dieser bestimmten Domäne gehören und nicht alle – Ankit