当前位置: 首页 > 知识库问答 >
问题:

laravel雄辩ORM多表插入

贺兴平
2023-03-14

如何使用laravel雄辩的ORM关系在多个表中发出一个插入请求。即

表1:用户

  • id
  • 姓名
  • 电子邮件

表2:员额

  • id

表3:图像

  • id
  • 用户id
  • 邮政id
  • 图像名称

关系

  1. usersid引用了其他两个表中的user\u id
  2. posts用户有一对多关系
  3. imagesuserspost具有一对多关系,即它可以与其他用户和其他帖子共享

因此,在进行post插入时,应该使用单个查询将记录插入表中。


共有1个答案

慕容渊
2023-03-14

这是一种方法:

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

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

或者更合理地说,Post模型中的一个模型事件应该从图像模型触发另一个模型事件。

-

 类似资料:
  • 在有说服力的ORM上,是否有一种较短的方法在Laravel中插入数据? 目前我正在这样做: 就像你看到的,所有的列都像属性一样命名。 我知道您可以将对象与all()函数和fetch()一起使用。但是我从另一个对象(soap服务器)获取数据。 有没有办法转换这个?也许在模型上?

  • 在发布这篇文章之前,我做了很多研究。 我得到以下错误时,试图插入一个记录到PostgreSQL使用Laravel雄辩的ORM。 这是错误: 这是数据库表创建模式: 这就是我试图执行的代码: 我创建了一个模型类FbPostShareCount扩展雄辩。 我知道laravel不支持复杂的键,但当我使用MySQL时,这个问题并没有发生

  • 如何使用雄辩的ORM在Laravel中执行批量数据库插入? 我想在拉威尔完成这一点:https://stackoverflow.com/a/10615821/600516 但是我得到了以下错误。 SQLSTATE[HY093]:无效参数编号:混合命名参数和位置参数。

  • 我正在编写php代码,对于当前的项目,我正在使用laravel框架(带有雄辩的ORM)。在这个项目中,我创建了两个表:用户和任务。我想在这些表之间创建一个“一对多”的关系。因此,一个用户可以有许多任务。在Tasks类中,我创建了方法所有者(): 但是当我以前得到用户名的时候 我得到这个异常:未定义的属性:illumb\Database\Eloquent\Relations\BelongsTo::$

  • 嗨,我正在学习laravel。我使用雄辩的ORM删除方法,但我得到了不同的结果。不是真的或假的,而是空的。我设置了一个资源路由,在UsersController中有一个销毁方法。 但是我总是得到一个响应{“status”:“0”,“msg”:“failed”},数据库中的记录被删除。 然后我使用dd($res)。它在页面中显示null。 但是从课程中我学习到它返回一个布尔值true或false。