У меня есть сводная таблица и отношение по модели. Продукт:
public function product_bodies()
{
return $this->belongsToMany(static::class, 'product_bodies')->withPivot('product_id', 'product_body_id');
}
В контроллере, когда я хочу прикрепить данные:
$products = ['sadasdasd', 'asdasda', 'asdasd', 'asdasd']; //for column product_body_id
$product = Product::create($request->all());
$product->product_bodies()->attach($products);
Я получаю ошибку:
Общая ошибка: 1364 Поле 'product_body_id' не имеет значения по умолчанию
Значение
Если я сделаю это:
public function product_bodies()
{
return $this->belongsToMany(static::class, 'product_bodies', 'product_id', 'product_body_id')->withPivot('product_id', 'product_body_id');
}
Тогда все работает хорошо. Но тогда я не могу получить сводные данные с помощью:
$product->product_bodies;
Я получаю пустые предметы ..
Как я могу решить эту проблему?
Таблица product_bodies
имеет 3 столбца:
- ID
- product_id
- product_body_id
В product_body_id я передаю строки.