/ Como posso usar o Join In The Leftjoin com o Laravel? - php, mysql, laravel

Como posso usar o Join In The Leftjoin com o Laravel? - php, mysql, laravel

Eu tenho uma pergunta sobre leftjoin e junte-se a laravel Eu quero reescrever a seguinte amostra para laravel, como posso fazer isso?

LEFT JOIN(advertsolution_f SF
JOIN function_d FD ON SF.fd_id = FD.fd_id
JOIN function_m FM ON FD.fm_id = FM.fm_id)
ON SM.ads_id = SF.ads_id

Eu tento reescrevê-lo assim, mas eu acho que não é uma boa idéia.

->leftJoin($SF,$SM.".ads_id",$SF.".ads_id")
->leftjoin($FD,$SF.".fd_id",$FD.".fd_id")
->leftjoin($FM,$FD.".fm_id",$FM.".fm_id")

porque eu não tenho idéia de como juntar a mesa para $ SF em particular.

Respostas:

0 para resposta № 1

Mapa assim,

->leftJoin($SF,$SM.".ads_id","=",$SF.".ads_id")
->leftjoin($FD,$SF.".fd_id","=",$FD.".fd_id")
->leftjoin($FM,$FD.".fm_id","=",$FM.".fm_id")

Você está ausente = faça login na consulta.

EDITAR

EXEMPLO VOCÊ DADA, Estou escrevendo consulta em nome dela, você só precisa mapear com seus campos e tabelas originais,

DB::table("a")
->leftJoin("b","b.a_id","=","a.id")
->leftJoin("c","c.b_id","=","b.id")
->leftJoin("d","d.bd_id","=","b.bdid")
->get();

Mapeie esta consulta, conforme sua necessidade, deve funcionar.


0 para resposta № 2

Para fazer essa consulta complexa, você pode usar RAW EXPRESSIONS gostar:

$users = DB::table("users")
->select(DB::raw("count(*) as user_count, status"))
->where("status", "<>", 1)
->get();

Expressões Crus

Às vezes você pode precisar usar uma expressão bruta emuma consulta. Essas expressões serão injetadas na consulta como strings, portanto, tome cuidado para não criar pontos de injeção SQL! Para criar uma expressão bruta.

Referência