Php Laravel商店用户ip

Php Laravel商店用户ip,php,laravel,Php,Laravel,如何在Laravel 5+中存储用户ip 我想在注册时存储用户ip: use Illuminate\Http\Request; public function register(Request $request) {... $input = $request->all(); $input['ip'] = $request->ip(); ... } 但这给了我一个错误: message: "Non-static method Illuminate\Http\Request

如何在Laravel 5+中存储用户ip

我想在注册时存储用户
ip

use Illuminate\Http\Request;

public function register(Request $request)
    {...

$input = $request->all();
$input['ip'] = $request->ip();
...
}
但这给了我一个错误:

message: "Non-static method Illuminate\Http\Request::ip() should not be called statically"
我在谷歌上搜索,但除了更改
请求
,什么也没找到,我尝试了
使用请求
等。。但这些都没有解决我的问题。

Request
类中,有两种方法可以获取
ip
,首先是
ip()
,然后是
ips()
ip()
返回您的
客户端ip地址
,没有
getIp()
方法。它返回您的
127.0.0.1
ip,因为您试图从同一台机器访问本地项目

所以:

use Illuminate\Http\Request;
$input['ip'] = $request->ip();
别忘了将
ip
添加到
$filleble
到您的
机型中

 protected $fillable = [
        'ip',
    ];

Request
类中,有两种方法可以获取
ip
,首先是
ip()
,然后是
ips()
ip()
返回您的
客户端ip地址
,没有
getIp()
方法。它返回您的
127.0.0.1
ip,因为您试图从同一台机器访问本地项目

所以:

use Illuminate\Http\Request;
$input['ip'] = $request->ip();
别忘了将
ip
添加到
$filleble
到您的
机型中

 protected $fillable = [
        'ip',
    ];

请您展示一下您的整个
注册
方法和/或调用
::ip()
的位置。自从收到问题中提到的错误后,您是否更改了代码,因为您现在所做的不应该抛出该错误(除非您在其他地方使用
::ip()
)。另外,仅供参考,我不建议为验证失败返回
200
响应,因为它不成功。使用Laravel验证失败的默认HTTP状态代码为
422
。我相信您忘记了将
ip
字段添加到
$filleble
中。您可能可以使用而不是使用多个if表达式保存几行代码。请显示整个
注册方法和/或调用
:ip()的位置
。自从收到问题中提到的错误后,您是否更改了代码,因为您现在所做的不应该抛出该错误(除非您在其他地方使用
::ip()
)?另外,仅供参考,我不建议返回验证失败的
200
响应,因为它不成功。使用Laravel验证失败的默认HTTP状态代码是
422
。我相信您忘记了将
ip
字段添加到
$filleble
您可能可以使用而不是使用多个if表达式来保存几行代码