【问题标题】:Laravel repository and controllerLaravel 存储库和控制器
【发布时间】:2021-07-31 12:58:31
【问题描述】:

这是我的仓库

public function showInterface(int $id)
    {
        $role = $this->model->find($id);

        $rolePermissions = Permission::join("role_has_permissions","role_has_permissions.permission_id","=","permissions.id")
            ->where("role_has_permissions.role_id",$id)
            ->get();


        return $role && $rolePermissions;
    }

这是我的控制器

 public function show($id)
    {
        $role=$this->repository->showInterface($id);

        return view('roles.show',compact('role'));
    }

问题是我应该在 Controller 中压缩 $role 和 $rolePermissions ,我应该怎么做?

【问题讨论】:

    标签: php laravel repository


    【解决方案1】:

    我觉得你应该改成:

    
    public function showInterface(int $id)
        {
            $role = $this->model->find($id);
    
            $rolePermissions = Permission::join("role_has_permissions","role_has_permissions.permission_id","=","permissions.id")
                ->where("role_has_permissions.role_id",$id)
                ->get();
    
    
            return [$role, $rolePermissions];
        }
    

    public function show($id)
        {
            [$role, $rolePermissions] = $this->repository->showInterface($id);
    
            return view('roles.show',compact('role', 'rolePermissions'));
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-16
      • 1970-01-01
      • 1970-01-01
      • 2019-04-26
      • 2020-10-18
      • 1970-01-01
      • 2016-12-25
      • 1970-01-01
      相关资源
      最近更新 更多