具有额外场的laravel质量分配

时间:2018-05-28 08:35:01

标签: php laravel eloquent

商店方法帖子控制器

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

通过MassAssignment,有两个查询。有没有其他方法只在一个查询中执行操作?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

使用反向关系

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

在您的用户类中,您需要具有关系的反向定义

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