我在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
答案 0 :(得分:2)
但是这回复了我这个错误:从空值创建默认对象
阅读之后可能是因为我使用了Illuminate \ Http \
不是。错误消息告诉您确切的错误:
从空值创建默认对象
问题在于$transaction->ip
行。看来你正试图在$transaction
变量存在之前设置一个属性,因此PHP假定你想要一个对象,为你创建一个,并将它分配给$transaction
变量。