laravel批量插入

yrwegjxp  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(453)

我知道我可以在laravel中插入多个记录,包括:

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

但是,有没有可能做一个批量插入,也有一对一的关系?这样我就可以同时把数据插入两个数据库了?
比如:
$data=[['name'=>'…','age'=>…],['name'=>'…','age'=>…],['name'=>'…','age'=>…],];

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

vjrehmav1#

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

用户模型:

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

项目模型:

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

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

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

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

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

相关问题