laravel-5 – laravel Eloquent ORM多表插页

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

表1:用户

> id
>名字
>电子邮件

表2:帖子

> id
> user_id
>内容

表3:图像

> id
> user_id
> post_id
> image_name

关系

>表用户id引用其他两个表中的user_id.
>表格帖子与用户具有“一对多”关系.
>表格图像与用户和帖子具有“一对多”关系,即可以与其他用户和其他帖子共享.

因此,当一个人进行帖子插入时,它应该使用单个查询在表中插入记录.

最佳答案 这是一种方法:

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

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

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

– > toArray()可能是可选的,我不能在这里测试我现在的位置.

点赞