简体   繁体   English

带有额外字段的laravel质量分配

[英]laravel mass assignment with extra field

It's My Store Method In Post Controller 这是我在Post Controller中的 存储方法

$post = Post::create($request->all());
$post->author()->associate(auth()->user()); // or $post->author_id=auth()->id;

By MassAssignment , There is two query. 通过MassAssignment,有两个查询。 Is there any alternative way to do action in only one query? 是否只有一种查询可采取其他行动方式?

$post = Post::create(['author_id' => auth()->id] + $request->all());

Use the reverse relation 使用反向关系

Auth::user()->posts()->create($request->all());

On your user class you need to have the reverse definition of the relationship 在用户类上,您需要对关系进行相反的定义

public function posts() {
    return $this->hasMany(Post::class);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM