如何使用laravel Eloquent ORM关系在单个表中插入单个请求.ie
表1:用户
表2:帖子
表3:图像
关系
users
id引用其他两个表中的user_id
。posts
与users
具有“一对多”关系。images
与users
和post
具有“一对多”关系,即可以与其他用户和其他帖子共享。因此,当一个人进行帖子插入时,它应该使用单个查询在表中插入记录。
答案 0 :(得分:2)
这是一种方法:
$post = (new Post)->fill($request->all()->toArray())->user()->associate(Auth::user())->save();
对于图像,Post
模型应该有一个模型事件,例如static::created
来处理图像上传和操作。
或者更有意义的是,Post
模型中的模型事件应该触发Image
模型中的另一个模型事件。
->toArray()
可能是可选的,我无法在此处测试。