2017-02-09 25 views
0

左結合に関する質問があります& laravelに参加します 次のサンプルをlaravelに書き直したいのですが、どうすればいいですか?Laravelで左結合の結合を使用する方法

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にテーブルを参加させる方法がないので、時にはクエリで生の発現を使用する必要があります

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

生式:

+0

あなたが直面しているどのようなエラー、あなたが私の条件は十分に正確でないエラー – rahulsm

+0

を投稿することができ、CMDは – JudeChih

答えて

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

あなたのあたりとして、このクエリの地図要件、 それが動作するはずです。

+0

THXを崩壊するが、それはそれなしで仕事だ、私はちょうど3 – JudeChih

+0

leftjoinザッツデータベース・ロジックの権利をuseingに奇妙な感じ?どこで使用するかは、左と、あなたが決定する必要がある – rahulsm

+0

例: 私は4つのテーブルを持っている、テーブルは私の鉱山のテーブルです、テーブルb leftjoinテーブル し、テーブルcとテーブルdはテーブルを結合するb。 – JudeChih

0

、このような複雑なクエリを作成するために次のようなRAW EXPRESSIONSを使用することができます。これらの式はクエリに文字列として注入されるため、SQL注入ポイントを作成しないように注意してください。生の表現を作成する。あなたが不足している。このような

Reference

関連する問題