2017-05-11 1 views
0

내가 왼쪽으로 마운트 하나 개 이상의 조건에 가입해야 하나 개 이상의 조건으로 가입, 그러나 나는 올바른 설정웅변 왼쪽

$results = DB::table('partida') 
     ->join('time as mandante', 'mandante.time_id', '=', 'partida.mandante_fk') 
     ->join('time as visitante', 'visitante.time_id', '=', 'partida.visitante_fk') 
     ->leftJoin('palpite', function ($join) { 
      $join->on('partida.partida_id', '=', 'palpite.partida_fk') 
       ->on('partida.usuario_fk', '=', '20'); 
     }) 
     ->select([ 
      'partida.partida_id', 
      'partida.rodada', 
      'partida_data', 
      'partida.local', 
      'partida.mandante_fk', 
      'partida.visitante_fk', 
      'mandante.abreviacao AS mandante_abreviacao', 
      'mandante.nome AS mandante_nome', 
      'mandante.escudo60x60 AS mandante_escudo', 
      'visitante.abreviacao AS visitante_abreviacao', 
      'visitante.nome AS visitante_nome', 
      'visitante.escudo60x60 AS visitante_escudo', 
      'palpite.placar_mandante', 
      'palpite.placar_visitante' 
     ]) 
     ->where('mandante.aposta', 1) 
     ->orWhere('visitante.aposta', 1) 
     ->orderBy('partida.partida_data', 'ASC') 
     ->get(); 

답변

0

이 시도

LEFT JOIN palpite ON partida.partida_id = palpite.partida_fk AND palpite.usuario_fk = 20 

웅변 코드를 발견하지 않았습니다 :

$results = DB::table('partida') 
      ->join('time as mandante', 'mandante.time_id', '=', 'partida.mandante_fk') 
      ->join('time as visitante', 'visitante.time_id', '=', 'partida.visitante_fk') 
      ->leftJoin('palpite', function ($join) { 
       $join->on('partida.partida_id', '=', 'palpite.partida_fk'); 
       $join->on('partida.usuario_fk', '=', '20'); 
      }) 
      ->select([ 
       'partida.partida_id', 
       'partida.rodada', 
       'partida_data', 
       'partida.local', 
       'partida.mandante_fk', 
       'partida.visitante_fk', 
       'mandante.abreviacao AS mandante_abreviacao', 
       'mandante.nome AS mandante_nome', 
       'mandante.escudo60x60 AS mandante_escudo', 
       'visitante.abreviacao AS visitante_abreviacao', 
       'visitante.nome AS visitante_nome', 
       'visitante.escudo60x60 AS visitante_escudo', 
       'palpite.placar_mandante', 
       'palpite.placar_visitante' 
      ]) 
      ->where('mandante.aposta', 1) 
      ->orWhere('visitante.aposta', 1) 
      ->orderBy('partida.partida_data', 'ASC') 
      ->get();