【发布时间】:2019-11-08 20:03:12
【问题描述】:
我以为我在开发 Laravel 技能方面进展顺利,但似乎我被卡住了,还无法在线找到解决方案。
我的项目是在 Laravel 和 Vue 中建立的,我正在尝试存储带有成分的产品。产品在产品表中。成分表中的成分。我成功地使用brand_id存储产品,然后检索品牌(一对多),但我不知道如何为多对多做到这一点:产品的成分。
由于我正在使用 Vue,因此我添加了用于发布我的数据的 JSON 输出。
public function store()
{
$product = new Product();
$product->ean = request('ean');
$product->name = request('productName');
$product->brand_id = request('brandId');
$ingredients = request('ingredients');
$product->save();
}
正如我上面解释的那样,保存产品进展顺利。 但是现在我需要对 $ingredients 数组做一些事情,我发现了这样的行:
$user->roles()->save($role);
所以我认为我必须为所有成分做一个 foreach 循环,并在其中这样做:
$product->ingredients()->save($ingredient);
我无法理解的内容。该数组将包含已存储的现有成分,但也包含必须添加到成分表中的新成分。如何使这项工作?
所以将新成分存储在它的表中,并将关系存储在 eloquent 表中。我可能很近,我可能很远,有人吗?
【问题讨论】:
标签: laravel vue.js eloquent many-to-many laravel-controller