创建新的“项目”和所有关联的属性

时间:2019-06-27 14:47:29

标签: php mysql laravel

我有一个产品表和一个带有外键的配方表,外键使用产品表-> ID链接这些表,我想知道是否可以同时创建产品并添加配方,或者唯一的方法是创建产品,然后在其他视图中添加配方。

我一直在网上寻找类似的情况,但没有成功。

2 个答案:

答案 0 :(得分:0)

如果您在模型中定义了关系船。

您可以使用Attach方法添加与数据相关的表。

$recipe = $request->get('recipe');
$product =   $request->get('product')        
$product = New Product();
$product = $product->create($product);
if($product){
    $product->recipe()->attach($recipe); 
}

答案 1 :(得分:0)

谢谢大家弄清楚了.. 首先保存配方,然后从保存的配方中获取最后一个ID 然后用百分比保存关联的材料。

  $recipe = new Recipe([
        'name' =>$request->get('name'),
        'description' => $request ->get('description')
    ]);
    $recipe ->save(); // Save the above and get the ID

    $recipematerial= new RecipeMaterial([
        'material_id' => $request ->get('material'),
        'recipe_id' => $recipe->id,
        'percentage' => $request ->get('percentage')
    ]);
    $recipematerial ->save(); 
相关问题