2017-05-19 42 views
0
public function chat($id,$team1,$team2){ 

    $relation=Crelation::where('match_id',$id)->where('first_team_id',$team1)->where('second_team_id',$team2)->first(); 

    if($relation == null){ 

     $data=[ 
      'match_id'=>$id, 
      'first_team_id'=>$team1, 
      'second_team_id'=>$team2 
     ]; 

     $rel= Crelation::create($data); 
     $whatRelation=$rel->id; 
     $this->sendMessage($whatRelation); 

    }else{ 

    $whatRelation=$relation->id; 
     $this->sendMessage($whatRelation); 
    } 

    return view('chat',compact('whatRelation')); 
} 


public function sendMessage(Request $request,$whatRelation) 
{ 

    $id=(int)$whatRelation; 

$user = Auth::user(); 

$message = $user->messages()->create([ 
    'message' => $request->input('message'), 
    'crelation_id'=>$id 


]); 

broadcast(new MessageSent($user, $message))->toOthers(); 

return ['status' => 'Message Sent!']; 
} 

我得到這個錯誤:傳遞給 應用程序\ HTTP \控制器我想通過變量從同一個控制器不同的功能 - Laravel

參數1 \ ChatsController ::的sendMessage()必須是照亮 實例\ HTTP \請求,整數給出,稱爲在 C:\ XAMPP \ htdocs中\ ScrimWithMe \應用\ HTTP \控制器\ ChatsController.php 上線77和限定

+1

'公共職能sendMessage(Request $ request,$ whatRelation)' 你傳遞的是第一個參數的整數,它應該是一個請求。 –

+0

嗯,你能解釋一下,我需要改變我不明白... – Dpower

+0

你只傳遞單個參數$ this-> sendMessage($ whatRelation); – JYoThI

回答

3

你有所需sendMessage函數的兩個參數..但你只是傳遞一個參數..

你可以做的是在你的chat功能聊天添加其他參數一樣

public function chat(Request $request, $id,$team1,$team2){ 
    .... 
    $this->sendMessage($request,$whatRelation); 
} 

然後添加一個參數在上述功能和應該做的吧..

0

@Demonyowh解釋所有這就是爲什麼你得到這個錯誤

我認爲這是factory design模式有兩種方法可以解決您的概率LEM

  • 如果在任何其他地方不使用你的方法,然後取出第一個參數,它的下一行聲明類

    METHOD(){ 
        $request = new Request(); 
        // your code; 
    } 
    
  • 聲明此類參數在__construct方法
相關問題