2016-10-14 57 views
0

我有一個Laravel模型,它有一個簡單的函數。但是,由於某種原因,我得到這個錯誤:模型中的Laravel函數

Relationship method must return an object of type Illuminate\Database\Eloquent\Relations\Relation

這裏是我的模型:

class Dish extends Model 
{ 
    public function sum() { 
     return $this->attributes['begin'] + 10; 
    } 
} 

在我控制我做的:

$model->sum(); 

任何人都知道我怎麼能功能添加到我的模特?

非常感謝提前!

+0

$這指向哪裏? –

+0

您確定該錯誤代碼行嗎? –

+0

你想加載這個關係嗎?像'$ model = Dish :: with('sum') - > where('id',3) - > first();'或者什麼? – SimonDepelchin

回答

0

如果將使用模型數據執行計算,則不需要使用$this->attributes來獲取模型數據,這樣它實際上會使它更加「髒」。最徹底的方法將它作爲一提的意見:

public function sumBegin($default = 10) 
{ 
    return $this->begin + $default; 
} 

這樣,我們採取begin當前模型被調用。