gpt4 book ai didi

php - laravel 中的 hasManyThrough 关系更新失败

转载 作者:行者123 更新时间:2023-11-30 23:44:04 25 4
gpt4 key购买 nike

我正在尝试使用 Laravel hasManyThough 更新子模型。

我尝试过的

Base 模型有如下关系:

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

最佳答案

目前,我为这个问题做了一个临时解决方案。

foreach ($order->transactions as $transaction) {
$transaction->update($updateRules);
}

请随时发布您的解决方案。

关于php - laravel 中的 hasManyThrough 关系更新失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52447688/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com