Laravel请求ip返回null

时间:2017-10-09 13:16:36

标签: php laravel

我在localhost尝试运行控制器:

use Illuminate\Http\Request;
$transaccion = new Transaction();
$transaccion->user_id = $user_id;
$transaccion->event_id = $event_id;
$transaction->ip = \Request::ip();
$save = $transaccion->save();

但是这就是我在ip行上给我发出这个错误:Creating default object from empty value

阅读之后可能是因为我使用了Illuminate \ Http \所以我已经改为use Request;但是控制器很大并且正在返回:Undefined property: Illuminate\Support\Facades\Request::$user_id而我不会'我想改变整个控制器。

我还试过了$request->ip,但我认为它正在寻找一些输入而且我不会出现错误,我认为它是未定义的ip。

在没有Request::ip()并返回\

的情况下尝试Request::ip() should not be called statically

我认为主要问题是"是我在localhost所以我没有IP,但我仍然喜欢在本地工作。

所以我对\Request::ip()进行了一些检查,例如:

(\Request::ip()) ? \Request::ip() : 0;

(is_null(\Request::ip()) ? 0 : (\Request::ip());

还有其他一些但奇怪的是我所有人Creating default object from empty value

知道我做错了什么吗? THX

1 个答案:

答案 0 :(得分:2)

  

但是这回复了我这个错误:从空值创建默认对象

     

阅读之后可能是因为我使用了Illuminate \ Http \

不是。错误消息告诉您确切的错误:

  

从空值创建默认对象

问题在于$transaction->ip行。看来你正试图在$transaction变量存在之前设置一个属性,因此PHP假定你想要一个对象,为你创建一个,并将它分配给$transaction变量。