尝试使用laravel获取非对象的属性

时间:2016-09-11 12:54:14

标签: php laravel

我已经尝试创建我的函数但是当id为空时,该函数返回一个空数组并得到"尝试获取非对象的属性" ......使用laravel 5.2

  public static function NameFunction($id) {
    if(!empty($id)) {
        $Table = Table::find($id);
        if(count($Table) > 0)
        {
            return $Table;
        }
    } else {
        $return = array('name' => 'NULL');
        return $return;
    }
}

我如何使用该功能

  {{ ClassName::NameFunction($idCat)->name }}

我知道这不是一个对象,但我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

我不知道在Laravel中解决这个问题的惯用方法是什么,但我想如果找不到某些项目则应该做其他事情。所以也许你需要检查一下:

ReadRegStr $uninstallPath HKLM "Sofware\...\YourAppUninstKey" "UninstallString"
${PathUnquoteSpaces} $uninstallPath
CopyFiles $uninstallPath "C:\Temp"

或许你可以使用char *myXMLString = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" "<painting>" " <img src=\"madonna.jpg\" alt=\"Foligno Madonna, by Raphael\"/>" " <caption>MY_REPLACED_TEXT" " <date>1511</date>-<date>1512</date>.</caption>" "</painting>"; 代替public static function NameFunction($id) { if(!empty($id)) { $Table = Table::find($id); if(count($Table) > 0) { return $Table; } } return false; } $name = ClassName::NameFunction($idCat); if ($name && !empty($name->name)) { echo $name->name; } else { echo 'Not found' } ,这会引发异常,你可以抓住它。

答案 1 :(得分:0)

我认为这个应该有用

public static function NameFunction($id) {
    $default = array('name' => null);
    if(!empty($id)) {
        $Table = Table::find($id);
        if(count($Table) > 0)
        {
            return $Table;
        } 
        else 
        {
           return $default;
        }
    } else {
        return $default;
    }
}