【问题标题】:Join multi create in Laravel?在 Laravel 中加入多重创建?
【发布时间】:2019-02-10 09:37:08
【问题描述】:

我想一次在 3 个表中插入新记录。有没有办法一建三表?

在 SingleController.php 中:

$single = Single::create([
                    'structure_id' => $request->structure_id,
                    'user_id' => auth()->id(),
                ]);

$structure = Structure::create([
                    'name' => $request->name,
                ]);

$placement = Placement::create([
                    'structure_id' => $request->structure_id,
                    'seed' => $request->seed,
                ]);

在 Structure.php 模型中:

public function singles()
{
    return $this->hasMany(Single::class);
}

public function placements()
{
    return $this->hasMany(Placement::class);
}

【问题讨论】:

    标签: laravel-5 sql-insert jointable


    【解决方案1】:

    创建Structure 后,您可以这样做:

    $structure->singles()->create({
        'structure_id' => $request->structure_id,
        'user_id' => auth()->id(),
    })
    
    $structure->placements()->create({
        'structure_id' => $request->structure_id,
        'seed' => $request->seed,
    })
    

    关注Docs

    【讨论】:

      猜你喜欢
      • 2019-03-22
      • 2020-07-06
      • 2017-03-02
      • 1970-01-01
      • 2016-04-21
      • 1970-01-01
      • 2020-07-13
      • 2015-06-27
      • 1970-01-01
      相关资源
      最近更新 更多