Php 如何从请求()自动包含客户端ip地址->;ip()在使用Laravel 5.2的雄辩创建方法中?
我有一套雄辩的模型:Php 如何从请求()自动包含客户端ip地址->;ip()在使用Laravel 5.2的雄辩创建方法中?,php,routing,httprequest,laravel-5.2,Php,Routing,Httprequest,Laravel 5.2,我有一套雄辩的模型: class UserModel extends Model { protected $fillable = array( 'first_name', 'last_name', 'email', 'password', 'ip', ); prot
class UserModel extends Model
{
protected $fillable = array(
'first_name',
'last_name',
'email',
'password',
'ip',
);
protected $table = 'users';
}
这个想法是。。。我想包括客户的ip地址,只要他/她注册为我们网站上的用户
在Laravel 5.2中,我们可以使用Request()类检索客户端ip地址
请求()->ip()
当使用eloquent模型创建用户记录时,我使用create()方法,这样就不必为每个字段分配值,除了“IP”字段
是否有任何方法可以从UserModel自动分配“IP”字段,其值来自Request()->IP()方法
如有任何建议/反馈,将不胜感激
谢谢 像这样的东西怎么样:
public function createNewUser(Request $request) {
$requestArr = $request->all();
$requestArr['ip'] = $request()->ip();
return $this->user->create($requestArr);
}
或
在网络上进行了一些挖掘之后,我找到了做这些事情的可靠方法
public function createNewUser(Request $request) {
$request->request->add(['ip' => $request->ip()]);
return $this->user->create($request->all());
}
@AlexeyMezenin提供的答案在某种程度上也会起作用,但是你必须做一些额外的代码才能让它起作用。无论如何谢谢。我很高兴能帮上忙。)更干净,这是首选方法。
public function createNewUser(Request $request) {
return $this->user->create(array_push($request->all(), array('ip' => $request()->ip())));
}
public function createNewUser(Request $request) {
$request->request->add(['ip' => $request->ip()]);
return $this->user->create($request->all());
}