在Laravel 5.1中注册时向用户添加属性

在Laravel 5.1中注册时向用户添加属性,laravel,Laravel,当用户注册时,我想为用户添加位置数据。 我用GeoIP买的 所以,每次创建一个用户时,我都想在某处添加国家、城市等 我正在考虑在视图中设置隐藏字段,但我认为这是一个非常好的方法,而且我相信有更好的方法 有什么想法吗?每当我创建一个需要额外数据的记录,包括将额外的记录插入额外的表中,等等,我都会创建一个服务类。类似于“UserCreator”的东西,然后我将输入传递给它,执行任何附加操作,将多个数据库调用包装到一个事务中,等等 也就是说,有很多方法可以满足你的需求。您可以输入::merge(…)然

当用户注册时,我想为用户添加位置数据。 我用GeoIP买的

所以,每次创建一个用户时,我都想在某处添加国家、城市等

我正在考虑在视图中设置隐藏字段,但我认为这是一个非常好的方法,而且我相信有更好的方法


有什么想法吗?

每当我创建一个需要额外数据的记录,包括将额外的记录插入额外的表中,等等,我都会创建一个服务类。类似于“UserCreator”的东西,然后我将输入传递给它,执行任何附加操作,将多个数据库调用包装到一个事务中,等等

也就是说,有很多方法可以满足你的需求。您可以输入::merge(…)然后保存,您可以将创建用户的过程与控制器/路由函数分离,等等


如果您刚刚开始使用Laravel和/或您的项目相当简单,那么您可能需要查看Input::merge

我使用Request Constructor解决了它,如中所述

在表单请求的构造函数中,我注入\illumb\Http\Request。然后,我可以将我的值添加到请求实例中,如下所示:

public function __construct(\Illuminate\Http\Request $request)
{
    $request->request->add(['date_of_birth' => implode('-', $request->only('year', 'month', 'day'))]);
}