laravel Eloquent ORM 多表插入

2023-12-01

我如何使用 laravel Eloquent ORM 关系发出单个请求来插入多个表。

表1:用户

  • id
  • name
  • email

表 2:职位

  • id
  • user_id
  • content

表 3:图像

  • id
  • user_id
  • post_id
  • 图片名称

关系

  1. Table users参考文献user_id在另外两个表中。
  2. Table posts与 具有一对多关系users.
  3. Table images与 具有一对多关系users and post即它可以与其他用户和其他帖子共享。

这样,当进行后插入时,应该使用单个查询将记录插入表中。


这是一种方法:

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

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

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

->toArray()可能是可选的,我现在无法在这里测试它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

laravel Eloquent ORM 多表插入 的相关文章

随机推荐