簡體   English   中英

將SQL查詢轉換為口才的Laravel 5.6

[英]Convert Sql query to Eloquent Laravel 5.6

我需要將此SQL轉換為Eloquent,因為我需要分頁並檢索Collection,有人可以幫助我嗎?

'SELECT n.id_norma, n.id_tipo_norma, n.texto_norma, n.fec_norma,r.cod_nodo, 
    r.articulo, t.desc_tipo_norma, n.desc_norma
    FROM normas n, rel_nodo_tem r, tipo_norma t
    WHERE r.id_norma = n.id_norma 
    AND r.id_tipo_norma = n.id_tipo_norma
    AND n.id_tipo_norma = t.id_tipo_norma 
    AND r.cod_nodo = :codNodo
    ORDER BY t.desc_tipo_norma ASC, n.fec_norma DESC, n.id_norma DESC'

我已經嘗試過了,但是我沒有正確的結果:

     $norms = Norm::join('rel_nodo_tem', 'rel_nodo_tem.id_norma', '=', 'normas.id_norma')
    ->where('rel_nodo_tem.id_tipo_norma', '=', 'normas.id_tipo_norma')
    ->where('rel_nodo_tem.cod_nodo', $codNodo)
    ->join('tipo_norma', 'normas.id_tipo_norma', '=', 'tipo_norma.id_tipo_norma')
    ->select('normas.id_norma','normas.id_tipo_norma','normas.texto_norma as text_norm','normas.fec_norma','normas.desc_norma', 'tipo_norma.desc_tipo_norma', 'rel_nodo_tem.cod_nodo', 'rel_nodo_tem.articulo')
    ->orderBy('tipo_norma.desc_tipo_norma', 'asc')
    ->orderBy('normas.fec_norma', 'desc')
    ->orderBy('normas.id_norma', 'desc')
    ->paginate(20);

用這個:

->whereColumn('rel_nodo_tem.id_tipo_norma', '=', 'normas.id_tipo_norma')

試試這個查詢:

 $norms = DB::table('normas')
        ->leftJoin('rel_nodo_tem','normas.id_norma','=','rel_nodo_tem.id_norma')
        ->leftJoin('tipo_norma', 'normas.id_tipo_norma', '=', 'tipo_norma.id_tipo_norma')
        ->where('rel_nodo_tem.id_tipo_norma', '=', 'normas.id_tipo_norma')
        ->where('rel_nodo_tem.cod_nodo', $codNodo)
        ->select('normas.id_norma','normas.id_tipo_norma','normas.texto_norma as text_norm','normas.fec_norma','normas.desc_norma', 'tipo_norma.desc_tipo_norma', 'rel_nodo_tem.cod_nodo', 'rel_nodo_tem.articulo')
        ->orderBy('tipo_norma.desc_tipo_norma', 'asc')
        ->orderBy('normas.fec_norma', 'desc')
        ->orderBy('normas.id_norma', 'desc')
        ->paginate(20);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM