Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 如何获取通过同步插入的记录_Laravel - Fatal编程技术网

Laravel 如何获取通过同步插入的记录

Laravel 如何获取通过同步插入的记录,laravel,Laravel,是否有方法获取通过同步方法插入的一条或多条记录 比如: $shop_product = $shop->products()->sync(1); 所以我现在希望$shop_产品成为包含记录的实例 { shop_id: 1, product_id: 1 } 同步方法更新您与商店的产品关系。 因此,调用$shop->products应该只返回您同步的产品。 除非您有一些额外的数据,否则没有理由访问透视表数据。如果您有,那么您应该在模型关系中定义您想要的。比如: return $this

是否有方法获取通过同步方法插入的一条或多条记录

比如:

$shop_product = $shop->products()->sync(1);
所以我现在希望$shop_产品成为包含记录的实例

{
shop_id: 1,
product_id: 1
}

同步方法更新您与商店的产品关系。 因此,调用
$shop->products
应该只返回您同步的产品。 除非您有一些额外的数据,否则没有理由访问透视表数据。如果您有,那么您应该在模型关系中定义您想要的。比如:

return $this->manyToMany(.....)->withPivot(['data_field_name'])
如果您使用的是商店产品,您可能不需要透视表。通常一个产品只能与一个商店相关,因此关系将是$this->hasMany(product::class),并且您的产品表将具有shop\u id