Hallo Ich versuche, herauszufinden, wie in beredten Sie diese Beziehung definieren: Image Of SchemaBeziehung aus der Tabelle mit Link-Tabellen Primärschlüssel Eloquent Laravel
ich viele gehört verwendet, um die Hersteller zu verbinden und Gerätetypen zusammen zB:
return $this->belongsToMany('App\Models\EquipmentType','equipment_types_manufacturers',
'manufacturer_id', 'equipment_type_id');
Doch der Versuch, die Beziehung zu definieren, kann ich nicht finden, wie Sie den Link aus dem equipment_model definieren FK etml_id -> PK
return $this->hasMany('App\Models\EquipmentType','equipment_types_manufacturers',
'equipment_types_manufacturers_id', 'equipment_type_id');
equipment_types_manufacturers
, die in SQL
SQLSTATE versagt [42S22]: Column nicht gefunden: 1054 Unknown column 'manufacturers.equipment_types_manufacturers_id' in 'where clause' (SQL: select * from
equipment_models
wo vorhanden ist (select * frommanufacturers
woequipment_models
.equipment_types_manufacturers_id
=manufacturers
.equipment_types_manufacturers_id
undmanufacturer_id
= 1) und existiert (select * fromequipment_types
woequipment_models
.equipment_types_manufacturers_id
=equipment_types
.equipment_types_manufacturers_id
undequipment_type_id
= 1))
Ich empfinde dies durch die Schaffung eines Modells für die Verknüpfungstabelle erreicht werden kann, aber ich bin ich mir nicht sicher, ob das stimmt?
Update: Ich bin jetzt versuchen, mit Hilfe dieser $ Modelle abfragen = EquipmentModel :: hat ('equipmentTypesManufacturer.manufacturer') -> mit ( [ 'equipmentTypesManufacturer' => function ($ query) { $ query-> where ([[ 'MANUFACTURER_ID', 5], [ 'equipment_type_id', 5]]);} , 'equipmentTypesManufacturer.manufacturer' , 'equipmentTypesManufacturer.equipmentType']) -> get() ; Dies funktioniert, aber Sie werden immer das Top-Level-Modell bekommen? – jwtea