Laravel - 带有存储库参数的模型中的方法?

Laravel - Method in Model with Repository Paramater?

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

我的 views 文件夹中有一个包含以下行的文件:

{{ $user->permissionName() }}

函数 permissionName() 获取用户的 $permission_id 属性 然后它 returns 权限的名称。

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

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

Model > Repository > Controller > View

还是我错了?

您不能将此作为 relationship 而不是编写函数吗?在您的用户模型上,您可以拥有这样的关系:

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

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