Я новичок в Laravel Framework и пытаюсь работать со мной.
Я уже понимаю, как генерировать отношения N: M и обрабатывать их внутри моделей. Теперь я спрашиваю вас, как заполнить дополнительное поле внутри множества таблиц?
Например:
Стол Фу
Таблица User_Foo
Пользователь таблицы
Теперь я хочу объявить, кто из пользователей foo является настоящим владельцем.
На мой взгляд, таблица N: M хранит эту информацию, а не сам Foo.
Так как же можно объявить эти дополнительные поля внутри моей модели Foo и User?
Получить дополнительные поля вы можете с помощью метода withPivot ()
return $this->belongsToMany('App\User')->withPivot('is_owner');
Заполнить можно с помощью методов sync () или attach ().
Laravel дает нам концепцию pivot
при определении N-M отношений. По умолчанию таблица будет иметь оба подключенных ключа. Но если вы хотите добавить дополнительные поля в эту таблицу мостов.
$model->belongsToMany('Model')->withPivot('column1', 'column2');
В приведенном выше случае ваша сводная таблица будет иметь два дополнительных столбца, и вы можете получить доступ к этим столбцам как:
$model->pivot->column1
$model->pivot->column2