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

时间:2015-12-01 01:02:19

标签: laravel

当用户注册时,我想为用户添加位置数据。 我得到了GeoIP的那些。

因此,每次创建用户时,我都希望在某处添加国家/地区,城市等。

我正在考虑在视野中设置隐藏字段,但我觉得这样做很难看,而且我确信有更好的方法可以做...

任何想法???

2 个答案:

答案 0 :(得分:1)

每次我创建需要额外数据的记录时,都需要在其他表中插入其他记录等,我创建了一个服务类。像“UserCreator”这样的东西然后我传递输入,做任何额外的操作,在事务中包装多个数据库调用等等。

那说有很多方法可以做你想做的事。您可以输入:: merge(...)然后保存,您可以将创建用户的过程与控制器/路由功能分开等。

如果你刚刚开始使用Laravel和/或你的项目相当简单,那么你可能想看一下Input :: merge

答案 1 :(得分:0)

我使用Request Contructor解决了它,如laracast

中所述

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

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