Я пытаюсь получить данные из многих многого relationship.I есть две таблицы:Получите от многих до многих отношений. Laravel
companies: [cid,name,origin]
vehicle_types: [id, type]
их сводная таблица: companies_vehicle_types: companies_id,vehicle_types_id
отношений определяются: В компании:
public function vehicle_types(){
return $this->belongsToMany('App\vehicle_types');
}
В vehicle_types
public function companies(){
return $this->belongsToMany('App\companies')->withTimestamps();
}
Я хочу получить компании, в которых vehicle_types = spec типа. Как я могу это сделать? я пытался делать следующее в моем контроллере:
$vehicle_types=vehicle_types::all()->whereLoose('type','Bike');
foreach ($vehicle_types->companies as $vehicle_types) {
$company[]=$vehicle_types->pivot->name;
}
return $company;
Но не кажется, что это будет работать. Он выдает ошибку Undefined property: Illuminate\Database\Eloquent\Collection::$companies
Переопределите второй, третий и угловой аргументы в отношении, если вы не следуете за соглашением laravel. См. Документацию https://laravel.com/docs/5.3/eloquent-relationships#many-to-many –
Я не понимаю. – Anon