Laravel中是否有任何方法可以自动向经过身份验证的用户添加模型?

Laravel中是否有任何方法可以自动向经过身份验证的用户添加模型?,laravel,authentication,eloquent,Laravel,Authentication,Eloquent,我发现自己经常这样做: $model→user()→save(Auth::user()); 这需要将Auth facade导入到保存关系的每个控制器中 我正在考虑在用户模型下创建一个简单的方法(saveWithAuthUser())来保存经过身份验证的用户 只是想知道这是否已经作为Laravel方法存在,如果不是,这是一个毫无意义的想法吗 这需要将Auth facade导入每个控制器,其中 正在保存关系 您可以通过从请求中获取用户来避免这种情况 public function create(R

我发现自己经常这样做:

$model→user()→save(Auth::user());
这需要将Auth facade导入到保存关系的每个控制器中

我正在考虑在用户模型下创建一个简单的方法(saveWithAuthUser())来保存经过身份验证的用户

只是想知道这是否已经作为Laravel方法存在,如果不是,这是一个毫无意义的想法吗

这需要将Auth facade导入每个控制器,其中 正在保存关系

您可以通过从
请求中获取用户来避免这种情况

public function create(Request $request) {
    $model->user()->associate($request->user());
}
还有一个全局帮助器正好可以实现这一点

$user = auth()->user();

为什么这是用户模型上的一种方法?因此我可以在多个模型上使用它,而无需复制代码(即$model)→user()->saveWithAuthUser())。如果
user()
是一个不返回模型的关系方法,第二,如果您确实获得了一个用户模型实例,它如何知道您试图将哪个模型保存到哪个关系。。。那么为什么这个方法是在用户身上而不是在其他模型上呢?我明白了,我想这是行不通的。只需要仔细考虑一下,但是你可以监听模型事件,然后看看是否有经过身份验证的用户,并潜在地分配给用户,如果这满足了所有需求的话