当用户注册时,我想为用户添加位置数据。 我得到了GeoIP的那些。
因此,每次创建用户时,我都希望在某处添加国家/地区,城市等。
我正在考虑在视野中设置隐藏字段,但我觉得这样做很难看,而且我确信有更好的方法可以做...
任何想法???
答案 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'))]);
}