laravel:模型函数必须返回一个关系实例

问题描述 投票:25回答:5

我尝试建立一个路径上laravel模型

我创建了我的模型的函数:

public function path()
{
    return App\Helper\GeneralController::getURL($this);
}

dd(App\Helper\GeneralController::getURL($this))测试中,我得到了正确的答案。 (输出是一个URL)

但鉴于与呼叫:$article->path我得到这个错误:

App\Article:: path must return a relationship instance.

怎么了?

laravel laravel-5.5
5个回答
58
投票

你需要调用它:

$article->path()

当你这样做$article->path,你试图使用你没有雄辩的关系。


7
投票

我面临着错误,当我忘了写在模型中关系之前的回报! 看看吧!


4
投票

你调用的关系。

$article->path

要调用该方法,使用“()”,像这样,

$article->path()

3
投票

path()是你需要的方法调用方法不反对元素

$article->path();

3
投票

我知道这已经回答和接受。但是,如果没有OP要使用属性访问,而不是使用方法“获取{属性名}属性” Laravel的语法来创建自定义属性。

下面是它会是什么样子的这种特殊情况下:

public function getPathAttribute()
{
    return App\Helper\GeneralController::getURL($this);
}

使用这种方法的“路径”现在可以称为一个属性,就不会被解决,使用语法的关系:

$article->path;
© www.soinside.com 2019 - 2024. All rights reserved.