2016-12-02 15 views
0

私の問題は次のコードを使用して、さまざまな役割のシステムにユーザーにアクセスしています。Laravelでテーブルの列の値をAuth :: user-> idと比較する方法

public function show($id) 
{ 
    if (Permission::where('status', 1)->where('project_id', $id)->exists()) { 
    // if((Permission::where('status', '=', '1')->first()) && (Permission::where('project_id','=',$id)->first())){ 
     $project = Project::find($id); 
     $tasks = $this->getTasks($id); 
     $files = $this->getFiles($id); 
     $comments = $this->getComments($id); 
     $collaborators = $this->getCollaborators($id); 
     $permissions = $this->getPermissions($id); 
returnview('collaborators.show')->withProject($project)->withTasks($tasks)->withFiles($files)->withComments($comments)->withCollaborators($collaborators); 
     } 
    else if 
     //return('hi'); 
     (Permission::where('status', 2)->where('project_id', $id)->exists()) { 
      $project = Project::find($id); 
      $tasks = $this->getTasks($id); 
      $files = $this->getFiles($id); 
      $comments = $this->getComments($id); 
      $collaborators = $this->getCollaborators($id); 
      $permissions = $this->getPermissions($id); 
      return view('collaborators.manager')->withProject($project)->withTasks($tasks)->withFiles($files)->withComments($comments)->withCollaborators($collaborators); 
     } 

私の許可テーブルには、collaborator_idがあり、それはusersテーブルのユーザIDと同じです。私は、ログされたユーザAuth::user->idとのコラボレータIDを検証(比較)する必要があります。次のスクリプトでは

if (Permission::where('status', 1)->where('project_id', $id)->exists()) 

どうすればよいですか? where句

答えて

0

ただ、別のものを使用し

Permission::where('status', 1)->where('project_id', $id)->where('collaborator_id', Auth::User()->id) 

提案:あなたは、重複/同じコードの場合で、他を避けることによって、あなたのコードを減らすことができます。

+0

はい動作しています – Fernando

関連する問題