2017-06-21 110 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/)!在這個網站,你應該嘗試**自己編寫代碼**。在[做更多 研究](https://meta.stackoverflow.com/questions/261592)如果你有一個問題,你可以**發佈你已經嘗試過的**與清楚的解釋什麼不是工作**並提供[最小,完整和可驗證示例](https://stackoverflow.com/help/mcve)。我建議閱讀[如何提出一個好問題](https://stackoverflow.com/questions/how-to-ask)。另外,一定要參加[tour](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();