我有这组雄辩的模型:
class UserModel extends Model
{
protected $fillable = array(
'first_name',
'last_name',
'email',
'password',
'ip',
);
protected $table = 'users';
}
这个想法是...每当客户在我们的网站上注册为用户时,我想包括客户的IP地址。
在 Laravel 5.2 中,我们可以使用 Request() 类检索客户端 IP 地址
请求()->ip()
https://laravel.com/api/5.2/Illuminate/Http/Request.html#method_ip
使用雄辩模型创建用户记录时,我使用 create() 方法,因此我不必为我们分配除"IP"字段之外的每个字段的值。
有没有办法自动分配来自 UserModel 的"IP"字段,值来自 Request()->ip() 方法?
public function createNewUser(Request $request) {
return $this->user->create($request->all());
}
任何建议/反馈将不胜感激。
谢谢!
在网上进行了
一些挖掘之后,我找到了做这些事情的可靠方法。
public function createNewUser(Request $request) {
$request->request->add(['ip' => $request->ip()]);
return $this->user->create($request->all());
}
@AlexeyMezenin提供的答案也可以以某种方式工作,但您必须做一些额外的代码才能正常工作。无论如何,谢谢。
像这样的事情怎么样:
public function createNewUser(Request $request) {
$requestArr = $request->all();
$requestArr['ip'] = $request()->ip();
return $this->user->create($requestArr);
}
或
public function createNewUser(Request $request) {
return $this->user->create(array_push($request->all(), array('ip' => $request()->ip())));
}