/ / Laravelとの結合で結合を使用するにはどうすればよいですか - php、mysql、laravel

LaravelでLeftjoinに参加する方法 - php、mysql、laravel

leftjoinについて質問があり、laravelに参加してください 次のサンプルをlalavelに書き換えたいのですが、どうすればいいですか

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

私はこのように書き直そうとしますが、私はそれは良い考えではないと思います。

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

私はどうやってテーブルを$ SFに個人的に参加させるのかわからないからです。

回答:

回答№1は0

このような地図、

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

=サインインクエリがありません。

EDIT

あなたが与えた例、私はそれに代わってクエリを書いています、あなたはただあなたの元のフィールドとテーブルでマップする必要があります

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();

要件に従って、このクエリをマップします。 それはうまくいくはずです。


回答№2の場合は0

そのような複雑なクエリを作るためにあなたは使うことができます RAW EXPRESSIONS 次のように:

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

生の式

時には生の式を使う必要があるかもしれません。クエリこれらの式は文字列としてクエリに挿入されるので、SQLインジェクションポイントを作成しないように注意してください。生の式を作成します。

参照