Laravel - 是否有某种`fill()`方法,但在使用数据透视表

时间:2018-02-09 16:36:44

标签: php laravel

在laravel中,您可以在模型上调用fill()方法,该方法将更新模型属性,但不会将其持久保存到数据库中。

使用数据透视表和多对多关系时是否有类似的功能?

$order->items()
        ->newPivotStatement()
        ->where('item_id', $item_id)
        ->where('order_id', $order->id)
        ->update([
            'qty' => $quantity,
            'containers' => $containers,
        ]);

因此update部分是我感兴趣的部分 - 我可以Fill数据透视表属性,但不要坚持下去吗?

2 个答案:

答案 0 :(得分:1)

为了实现这一目标,您可以尝试使用Intermediate Table Models进行操作,只需向下滚动一下,直至到达标题Defining Custom Intermediate Table Models

答案 1 :(得分:1)

您需要为 pivot 表定义一个新的模型,该表从

开始

use Illuminate\Database\Eloquent\Relations\Pivot;