【发布时间】:2017-02-23 18:16:54
【问题描述】:
我有一个 Laravel 模型,里面有一个简单的函数。但由于某种原因,我收到此错误:
关系方法必须返回一个对象类型 照亮\数据库\雄辩\关系\关系
这是我的模型:
class Dish extends Model
{
public function sum() {
return $this->attributes['begin'] + 10;
}
}
在我的控制器中我这样做:
$model->sum();
有人知道如何将函数添加到我的模型中吗?
提前非常感谢!
【问题讨论】:
-
$this 指向哪里?
-
你确定错误是针对那行代码的吗?
-
您是否要将此作为关系加载?像
$model = Dish::with('sum')->where('id', 3)->first();什么的? -
你可以用
$this->begin + 10代替$this->attributes['begin'] + 10吗?不知道为什么这会是一个问题,但这是一种预感。 Laravel 认为它在这里建立了一种雄辩的关系,请参阅上面 Simon 的评论。 -
你能展示你的整个相关控制器代码吗?您的功能或通话没有任何问题。确定错误堆栈指向这一行?