2016-10-14 3 views
0

私はララベルモデルに簡単な関数を持っています。しかし、いくつかの理由のために私はこのエラーを取得する:ここでモデル内のラーベル関数

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') - >ここで( 'id'、3) - > first();または何か? – SimonDepelchin

答えて

0

モデルデータを使用して計算を実行する場合は、モデルデータを取得するために$this->attributesを使用する必要はありません。そのようにすると、実際には「ダーティ」になります。

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

我々が呼び出されている現在のモデルのためbeginを取るその方法:それはコメントで言及ようになりますクリーンな方法。