Laravel中的用户个人头像,非对象错误

时间:2016-09-10 21:54:43

标签: laravel

我正在尝试允许用户使用laravel上传个人资料照片。当我在我的用户模型上运行dp()函数时,我得到了非对象错误。 我的用户模型: ```

public function dp()
    {
        return $this->hasMany('Blog\models\Dp', 'user_id');
    }
    public function getDp()
    {
        if (!$this->dp()){
            return 'public/image/standard_dp.jpg';
        }
        return $this->dp()->orderBy('created_at', 'desc' )->first()->url;
    }

``` 该错误应该在此代码的倒数第二行,但是当我运行dd而不是返回时,没有错误。 有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

尝试使用以下方法替换getDp()方法:

public function getDp()
{
    if ($this->dp->isEmpty()) {
        return 'public/image/standard_dp.jpg';
    }

    return $this->dp->sortByDesc('created_at')->first()->url;
}   

答案 1 :(得分:0)

当我用以下内容替换getDp()函数时,它起作用了:

$(document).ready(function(){
  var list = ['every 1 hour without catch up','yes','yes','false'];
  var colIndex = findColIndex('lqwasb02');

  // Loop over table rows
  $('tr').each(function(){
   // Look up cell with specific index
   var $cell = $(this).find('td').eq(colIndex);
   // Check if the text of the cell is not present in the list and do smth
   if ($.inArray($cell.text(), list) === -1) {
     $cell.css('background', 'red')
   }
  });
});

// helper function to find the index of column by text in the header
function findColIndex (headerText) {
  var $col = $('.myTable th:contains(' + headerText + ')');
  return $('.myTable th').index($col);
}