从空值错误

时间:2016-06-10 07:07:30

标签: php laravel eloquent

投票结束 我收到同样的错误,但这是我的认可$ rval ='4q34ipuipfpaidapdfadup'//随机数...

  $details = Company::with('User')->where('email', Input::get('qpass'))->first();

  $u = $details['user'];
  $u->reset_pass = $rval;     //then save to the database...
  $u->save();

我收到错误提示“从空值创建默认对象”,此行$ u-> reset_pass = $ rval;当我把模型分解成单独的实体时,我在同一行仍然遇到同样的错误...我需要帮助..谢谢。

  $rval = '4q34ipuipfpaidapdfadup'//a random number... 

  $details = Company::where('email', Input::get('qpass'))->first();
  $u = User::find($details->user_id)->get(); 
  $u->reset_pass = $rval;     //then save to the database...
  $u->save();

此时我仍然遇到错误($ u-> reset_pass = $ rval;

3 个答案:

答案 0 :(得分:1)

尝试使用

  $u = new User();
  $u = $u->find($details->user_id)->first(); 
  $u->reset_pass = $rval;     //then save to the database...
  $u->save();

还通过var_dump($ u);

检查您的用户对象是否为空

答案 1 :(得分:0)

当您尝试写入不存在的对象上的对象属性时,将返回此错误。

您的 $ u 变量为空,这就是您收到此错误的原因。确保首先正确获取用户 - 您可以尝试 dd($ u); 并查看它返回的内容。

答案 2 :(得分:0)

这个:$u = User::find($details->user_id)->get();没有感觉。 Yopu不需要使用get方法。如果您使用find,您将获得该模型,就像这样:

$u = User::find($details->user_id);