【问题标题】:Laravel weird Eloquent errorLaravel 奇怪的 Eloquent 错误
【发布时间】:2012-10-24 00:00:51
【问题描述】:

我在这段代码中找不到问题。

public function dovoljenjaZaposlenega($id)
     {  
        echo Dovoljenja::find($id)->naziv;
     }

当我这样做时,我收到以下错误

Trying to get property of non-object

但是当我只是回显 $id 时,它正在工作

public function dovoljenjaZaposlenega($id)
          { 
           echo $id;
          }

但更奇怪的是,如果我将 $id 替换为实际数字,它会再次起作用..

public function dovoljenjaZaposlenega($id)
     {  
        echo Dovoljenja::find(2)->naziv; // Some number..
     }


感谢您的帮助!

【问题讨论】:

  • var_dump($id) 可能包含空格或隐藏字符
  • 如果var_dump(Dovoljenja::find(4)->naziv);你会得到什么
  • @Baba 我得到常规字符串,但是当我用 $id 替换“4”时,我得到 Trying to get property of non-object

标签: php laravel eloquent


【解决方案1】:

没有错..您只需要基本检查错误即可。 Dovoljenja::find($id); 只会在 $id 存在时返回一个对象

用 id 24 试试这个实验

function dovoljenjaZaposlenega($id) {
    $find = Dovoljenja::find($id);
    $find = is_object($find) ? $find->naziv : "Am empty";
    echo $find;
}

【讨论】:

  • 哇,谢谢。我有一些值为“0”的 id,但我认为这不是问题..
  • @user1141356 .. 检查错误总是好的 .. 这是最佳实践
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-07-27
  • 2015-04-27
  • 2017-07-10
  • 2017-07-19
  • 1970-01-01
  • 2020-04-25
  • 2020-02-22
相关资源
最近更新 更多