Viele bis viele Beziehungen zur Taxonomie in Eloquent

Ich benutze Laravel 4. Ich habe viele bis viele Beziehungen in meinem System. Und ich entscheide mich für die Verwendung des Wordpress-Taxonomietabellenschemas.

Aber wie kann ich mit Laravel 4 Eloquent ORM Modellbeziehungen aufbauen? Hier sind meine Datenbanktabellen;

Tabelleterms:
+------------+---------------------+------+-----+---------+----------------+
| Field      | Type                | Null | Key | Default | Extra          |
+------------+---------------------+------+-----+---------+----------------+
| term_id    | bigint(20) unsigned | NO   | PRI | NULL    | auto_increment |
| name       | varchar(200)        | NO   | MUL |         |                |
| slug       | varchar(200)        | NO   | UNI |         |                |
+------------+---------------------+------+-----+---------+----------------+
Tabelleterm_taxonomy:
+------------------+---------------------+------+-----+---------+----------------+
| Field            | Type                | Null | Key | Default | Extra          |
+------------------+---------------------+------+-----+---------+----------------+
| term_taxonomy_id | bigint(20) unsigned | NO   | PRI | NULL    | auto_increment |
| term_id          | bigint(20) unsigned | NO   | MUL | 0       |                |
| taxonomy         | varchar(32)         | NO   | MUL |         |                |
| description      | longtext            | NO   |     | NULL    |                |
| parent           | bigint(20) unsigned | NO   |     | 0       |                |
| count            | bigint(20)          | NO   |     | 0       |                |
+------------------+---------------------+------+-----+---------+----------------+
Tabelleterm_relationships:
+------------------+---------------------+------+-----+---------+-------+
| Field            | Type                | Null | Key | Default | Extra |
+------------------+---------------------+------+-----+---------+-------+
| object_id        | bigint(20) unsigned | NO   | PRI | 0       |       |
| term_taxonomy_id | bigint(20) unsigned | NO   | PRI | 0       |       |
| term_order       | int(11)             | NO   |     | 0       |       |
+------------------+---------------------+------+-----+---------+-------+

Normalerweise können wir das tunreturn $this->belongsToMany('Term'); aber wie können wir 2 beziehungen machen? Wir benötigen 2 Beziehungen. Suchen Sie zuerst den Begriff Taxonomie in der Tabelle "term_taxonomy", und suchen Sie dann den Begriff Beziehungen mit "taxonomy_id".

Und ein Beispiel dafür, wie ich es verwenden möchte;

$categories = Post::find(1)->categories; // get terms with taxonomy="post_category" 
$tags = Post::find(1)->tags; // get terms with taxonomy="post_tag" 

Ich möchte dies nicht mit der Basisdatenbankklasse machen. "DB::table('table')->join('...')..."Ich möchte eloquente Beziehungsmethoden und Modelle verwenden.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage