首页 > 解决方案 > 在父子表 laravel 中插入行

问题描述

我很迷茫。我有名为 Navbar 的表、模型和控制器。在这里,我创建导航栏按钮。我制作了名为“type_1”的子表。因此,“navbar” id 转到表“type_1”及其名为“navbar_id”的列。

        $form_data = array(
        'tipas'    => $tipas,
        'p_id'     => $p_id,
        'name'     => $request->title,
        'text'     => $request->text,
        'img'      => $name
    );

    navbar::create($form_data); //created parent row

这里创建了导航栏按钮。如何使用父(导航栏)ID 创建子空行?我应该使用模型还是可以在这里做?

标签: laravelrowparent

解决方案


在您的Parent模型上,您需要定义这样的关系:

public function child()
{
    return $this->hasMany(Child::class);
}

现在您可以使用 eloquent 方法插入数据,如下所示:

$form_data = array(
  'tipas' => $tipas,
  'p_id' => $p_id,
  'name' => $request->title,
  'text' => $request->text,
  'img'  => $name
);

$q = Parent::create($form_data); //created parent row
$q->child()->create(['name' => 'John', 'email' => 'me@john.com']); // here parent_id will be created by the model

create 方法的官方文档


推荐阅读