laravel Eloquent ORM多表插入

时间:2015-12-10 23:01:33

标签: laravel-5 eloquent

如何使用laravel Eloquent ORM关系在单个表中插入单个请求.ie

表1:用户

  • ID
  • 名称
  • 电子邮件

表2:帖子

  • ID
  • USER_ID
  • 含量

表3:图像

  • ID
  • USER_ID
  • POST_ID
  • IMAGE_NAME

关系

  1. users id引用其他两个表中的user_id
  2. postsusers具有“一对多”关系。
  3. 表格imagesuserspost具有“一对多”关系,即可以与其他用户和其他帖子共享。
  4. 因此,当一个人进行帖子插入时,它应该使用单个查询在表中插入记录。

1 个答案:

答案 0 :(得分:2)

这是一种方法:

$post = (new Post)->fill($request->all()->toArray())->user()->associate(Auth::user())->save();

对于图像,Post模型应该有一个模型事件,例如static::created来处理图像上传和操作。

或者更有意义的是,Post模型中的模型事件应该触发Image模型中的另一个模型事件。

->toArray()可能是可选的,我无法在此处测试。