Я все еще изучаю Laravel и застрял в этой текущей проблеме, где я не могу синхронизировать две модели в сводной таблице.
Это по моему MenuGroup Model
(сводная таблица)
public function menus_group(){
return $this->belongsTo('App\Models\Menus\MenusGroup');
}
public function menu(){
return $this->belongsTo('App\Models\Menus\Menu');
}
Кстати, модель MenuGroup имеет 3 столбца, menu_id
, menu_groups_id
а также order
,
У меня есть и другие модели, Menu и MenusGroup. Я хотел синхронизировать это в одном из моих контроллеров. Как мне этого добиться?
Чтобы использовать связь Eloquent с сводной таблицей, у вас есть метод ownToMany:
public function menus_group(){
return $this->belongsToMany('App\Models\Menus\MenusGroup');
}
public function menu(){
return $this->belongsToMany('App\Models\Menus\Menu');
}
Также вы можете изменить некоторые соглашения по умолчанию
$this->belongsToMany('App\Models\Menus\Menu', 'pivot_table_name', 'foreign_key', 'local_key');
Других решений пока нет …