2017-06-21 3 views
-2
SELECT * 
FROM gen_monumentos 
LEFT JOIN 
(SELECT MAX(cgm_atrimestrales.ATRI_intId),cgm_atrimestrales.* 
FROM cgm_atrimestrales 
GROUP BY MONU_intId DESC) AS AA 
ON gen_monumentos.MONU_intId=AA.MONU_intId 
LEFT JOIN cgm_acciones on cgm_acciones.ACCI_intId=AA.ACCI_intId 

私はMySQLで目的の結果を作りますが、ページに情報を表示するにはjqueryが必要です。私は試しました:Laravel 5.3でこのクエリを書くには?

public function monumento() 
{ 
    $monumentos = \DB::table('gen_monumentos') 
     ->leftJoin(DB::raw( 
      'SELECT MAX(cgm_atrimestrales.ATRI_intId),cgm_atrimestrales.* FROM cgm_atrimestrales GROUP BY MONU_intId DESC'), function($leftJoin) 
      { 
       $leftJoin->on('cgm_atrimestrales.MONU_intId', '=', 'gen_monumentos.MONU_intId'); 
      }) 
     ->leftJoin('cgm_acciones','cgm_acciones.ACCI_intId','=','cgm_atrimestrales.ACCI_intId') 
     ->select('gen_monumentos.*','cgm_atrimestrales.*','cgm_acciones.ACCI_varDescripcion') 
     ->get(); 


    return \Response::json($monumentos); 
} 

しかし、それは動作しません。

+2

は、[スタックオーバーフロー](https://stackoverflow.com/)へようこそ!このサイトでは、自分でコードを書くことができます**。 [ research more](https://meta.stackoverflow.com/questions/261592)の後に問題がある場合は、あなたが試したものを投稿することができます** **最小限で完全で証明可能な例(https://stackoverflow.com/help/mcve)を提供しています。私は[良い質問をする方法](https://stackoverflow.com/questions/how-to-ask)を読むことをお勧めします。また、[ツアー](https://stackoverflow.com/tour)も必ずお読みください。 –

+0

これまでに試したことを投稿してください。 – fubar

答えて

0

場合、誰かが同様の問題を抱えていた私は、それを固定し、ここに解決策がある

$monumentos = \DB::table('gen_monumentos') 
       ->leftJoin(DB::raw( 
        '(
         SELECT MAX(cgm_atrimestrales.ATRI_intId), 
         cgm_atrimestrales.* 
         FROM cgm_atrimestrales 
         GROUP BY MONU_intId DESC) 
         as AA 
        '), 
        function($leftJoin) { 
         $leftJoin->on(
           'AA.MONU_intId', 
           '=', 
           'gen_monumentos.MONU_intId' 
         ); 
       }) 
       ->leftJoin(
         'cgm_acciones', 
         'cgm_acciones.ACCI_intId','=','AA.ACCI_intId' 
       ) 
       ->select(
         'gen_monumentos.*', 
         'AA.*', 
         'cgm_acciones.ACCI_varDescripcion' 
       ) 
       ->get();