Laravel散装插件具有一对一的关系

时间:2018-01-16 11:52:51

标签: mysql laravel laravel-5 orm bulkinsert

我知道我可以在laravel中插入多条记录:

$data = [
    ['name' => '...', 'age' => ...],
    ['name' => '...', 'age' => ...],
    ['name' => '...', 'age' => ...],
];
Model::insert($data);

但是,是否可以进行也具有一对一关系的批量插入?那么我是否同时将数据插入两个数据库?

类似的东西:

$ data = [     ['名称' => ' ...','年龄' => ...]     ['名称' => ' ...','年龄' => ...]     ['名称' => ' ...','年龄' => ...] ];

Model::withSecondTable()->insert($data);

1 个答案:

答案 0 :(得分:0)

是的,这是可能的。例如:

用户模型:

public function item()
{
  return $this->belongsTo('Item');
}

项目型号:

public function users()
{
  return $this->hasMany('User');
}

要从Item透视图中保存用户,请执行以下操作:

$item->users()->save($user);

要将项目与用户关联,请执行以下操作:

$user->item()->associate($item);
$user->save();