gpt4 book ai didi

php - Laravel 插入嵌套 Eloquent ORM 模型

转载 作者:行者123 更新时间:2023-12-05 06:46:39 24 4
gpt4 key购买 nike

假设我有三个表,它们之间的关系如下:

  1. 产品

    has many options
  2. 选项

    can belong to many product
    has option_values
  3. option_value

    belongs to many option

使用 Laravel 我可以像这样更新选项

product->options()->insert($stuff);

但是我也想插入到option_value

我试过了

product->options()->values()->insert($otherStuff);

但这行不通。这如何使用 Eloquent ORM 完成?

最佳答案

您不能以这种方式访问​​子关系,您必须实际拥有模型结果并在其上调用方法,或者使用预先加载但预先加载对插入没有帮助。

您必须循环选项模型并通过它们插入,但这会导致插入查询过多。更好的方法可能是只获取相关的 ID 并在单个流畅的查询中运行插入,而不是许多 Eloquent。

$option_ids = $product->options()->lists('id');
DB::table(OptionValue::$table)->insert(array_merge($data, $option_ids));

关于php - Laravel 插入嵌套 Eloquent ORM 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14012061/

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