2017-12-05 3 views
1

KontextLaravel hasMany Beziehung gibt 'Nicht eindeutige Tabellen/alias' Fehler

In Laravel/Lumen 5.5 Ich habe eine many-to-many-Beziehung in meiner Modellklasse definiert SchemaTypes, mit einem Dreh Tabel schema_parent_type:

public function parents() 
{ 
    return $this->belongsToMany('SchemaParentType', 'schema_parent_type', 'type_id', 'parent_id'); 

} 

ich kann einen neuen Elternteil ohne Probleme befestigen diesen Code verwenden:

$type = SchemaTypes::where('name', $parentName)->first(); 
if ($type) 
{ 
     $type->parents()->attach($parent->id); 
} 

Wenn ich die Tabelle schema_parent_type nach dem Hinzufügen eines neuen 'Eltern' überprüfen, sieht es perfekt aus.

Problem

Das Problem entsteht, wenn ich für alle Eltern ein bestimmtes Objekt gegeben abfragen möchten. Wenn ich diesen Code:

$type = SchemaTypes::where('name', $parentName)->first(); 
$parents = $type->parents()->get(); 

Daraus ergibt sich die folgende Fehlermeldung:

SQLSTATE[42000]: Syntax error or access violation: 
1066 Not unique table/alias: 'schema_parent_type' 
(SQL: select `schema_parent_type`.*, `schema_parent_type`.`type_id` as `pivot_type_id`, `schema_parent_type`.`parent_id` as `pivot_parent_id` from `schema_parent_type` inner join `schema_parent_type` on `schema_parent_type`.`id` = `schema_parent_type`.`parent_id` where `schema_parent_type`.`type_id` = 110 and `schema_parent_type`.`deleted_at` is null) 

Frage

Was ist das der Grund, $type->parents()->get() Aufruf dieser Fehler erzeugt? Wie kann ich das lösen?

Alle Kommentare oder Antworten sind willkommen.

+1

Würde dies Ihre Antwort lösen? https://stackoverflow.com/questions/31059595/sqlstate42000-syntax-error-or-access-violation-1066-not-unique-table-alias-o –

+0

In Ordnung. Scheint in Ordnung. Können Sie den Link überprüfen, den ich Ihnen gegeben habe? –

+0

Ja, thaks, lese es jetzt. – iep

Antwort

Verwandte Themen