Я пытаюсь обновить дочернюю модель с помощью Laravel hasManyThough.
То, что я пробовал
Базовая модель имеет следующие отношения:
public function transactions()
{
return $this->hasManyThrough('App\Transaction', 'App\Invoice');
}
и я использую приведенный ниже код для обновления дочерних элементов.
$order->transactions()->update([
'customer_id' => 100,
'user_id' => 100
]);
Что я получаю
SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'customer_id' in field list is ambiguous (SQL: update `invoice_items` inner join `invoices` on `invoices`.`id` = `invoice_items`.`invoice_id` set `customer_id` = 2, `user_id` = 2, `updated_at` = 2018-09-21 22:03:45 where `invoices`.`order_id` = 1)
Я использую laravel 5.6, и модель по умолчанию соответствует artisan make:model
.
Обновление:
Структура таблицы
orders
- id
- user_id
- customer_id
- content
invoices
- id
- order_id
- user_id
- customer_id
- content
transactions
- id
- invoice_id
- user_id
- customer_id
- content