具有存储库参数的模型中的Laravel方法


Laravel - Method in Model with Repository Paramater?

我正在使用laravel,我遇到了一些问题,我不太确定什么是最好的方法。

我在views文件夹中有一个文件,行为:

{{ $user->permissionName() }}

函数permissionName()获取User的$permission_id属性,然后返回权限的名称。

问题是我不应该从模型中获取数据。我需要在Repository文件上写这个函数。但现在我有一个新问题。。。如何将此函数获取到view文件?

我相信mvc上的数据应该是这样的:

Model > Repository > Controller > View

还是我错了?

难道不能把它作为一个关系而不是编写一个函数吗?在你的用户模型上,你可以有这样的关系:

/**
 * @return 'Illuminate'Database'Eloquent'Relations'HasOne
 */
public function permissionName()
{
    return $this->hasOne('App'PermissionName', 'permission_id');
}

然后,您仍然可以在视图中使用{{$user->permissionName}}。