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.
Würde dies Ihre Antwort lösen? https://stackoverflow.com/questions/31059595/sqlstate42000-syntax-error-or-access-violation-1066-not-unique-table-alias-o –
In Ordnung. Scheint in Ordnung. Können Sie den Link überprüfen, den ich Ihnen gegeben habe? –
Ja, thaks, lese es jetzt. – iep