Ich versuche, Daten zu viele relationship.i von vielen abgerufen haben zwei Tabellen:Holen Sie sich von vielen zu vielen Beziehungen. Laravel
companies: [cid,name,origin]
vehicle_types: [id, type]
ihre Pivot-Tabelle: companies_vehicle_types: companies_id,vehicle_types_id
Beziehung definiert: In Firmen:
public function vehicle_types(){
return $this->belongsToMany('App\vehicle_types');
}
In vehicle_types
public function companies(){
return $this->belongsToMany('App\companies')->withTimestamps();
}
Ich möchte Unternehmen abrufen, in denen vehicle_types = spec Typ. Wie kann ich das machen? Ich habe versucht zu tun in meinem Controller folgende:
$vehicle_types=vehicle_types::all()->whereLoose('type','Bike');
foreach ($vehicle_types->companies as $vehicle_types) {
$company[]=$vehicle_types->pivot->name;
}
return $company;
Aber es scheint nicht zu funktionieren. Es löst einen Fehler von Undefined property: Illuminate\Database\Eloquent\Collection::$companies
Überschreiben Sie das zweite, dritte und vierte Argument in der Relation, wenn Sie der Laravel-Konvention nicht folgen. Siehe die Dokumentation https://laravel.com/docs/5.3/eloquent-relationships#many-to-many –
Ich verstehe nicht. – Anon