Ali*_*Ali 32 laravel laravel-5.5
我尝试在laravel上为模型构建路径
我在我的模型中创建了一个函数:
public function path()
{
return App\Helper\GeneralController::getURL($this);
}
Run Code Online (Sandbox Code Playgroud)
通过dd(App\Helper\GeneralController::getURL($this))测试,我得到了正确的答案.(输出是一个URL)
但是通过调用查看:$article->path 我收到此错误:
Run Code Online (Sandbox Code Playgroud)App\Article:: path must return a relationship instance.
怎么了?
Ale*_*nin 63
你需要打电话给它:
$article->path()
Run Code Online (Sandbox Code Playgroud)
当你这样做时$article->path,你正试图使用你没有的雄辩关系.
pwy*_*wyg 14
我知道这已经得到了回答和接受。但是,如果 OP 确实想使用属性访问器而不是方法,请使用 Laravel 的“get{property name}Attribute”语法来创建自定义属性。
下面是这个特定案例的样子:
public function getPathAttribute()
{
return App\Helper\GeneralController::getURL($this);
}
Run Code Online (Sandbox Code Playgroud)
使用这种方法,“路径”现在可以作为属性调用,并且不会使用以下语法解析为关系:
$article->path;
Run Code Online (Sandbox Code Playgroud)
小智 7
你称之为关系。
$article->path
Run Code Online (Sandbox Code Playgroud)
要调用该方法,请使用“()”,如下所示,
$article->path()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27827 次 |
| 最近记录: |