理解を参加laraval

パブリック関数が参加($表、$一つ$演算子= nullを、$の2つの= nullを、$タイプ=「内部」、$はどこ= FALSE)
{
//参加の最初の「列」の場合、実際に閉鎖インスタンス開発者
//以上含む句「に」複合体と結合する構築しようとしている
//一つの条件を、私たちは参加してクエリで閉鎖を呼び出す追加します。
(閉鎖のinstanceof $もの)場合には、{
$ =新しいJoinClause($型、$表)に参加。
call_user_func($いずれかに参加$)。
の$ this - > [] = $参加合流。
の$ this - > addBinding($ join-は>バインディング、 '参加します');
}
//列が文字列が単純であれば、私たちが参加すると仮定することができ、単に基本持つ
単一の条件付き句「オン」//を。
//この単純ではそれに接続されている条項に参加します。参加するコールバックはありません。
他に{
$ =新しいJoinClause($タイプ、$表)に参加。
の$ this - >ジョイン[] = $ join-は>(上の
$一$演算子、$ 1,2 'と'、$
)。
の$ this - > addBinding($ join-は>バインディング、 '参加します');
}
$これを返します。
}

==== DB ::テーブル( 'としてapp_a')
- >( 'bとapp_b'参加、関数($結合){
( 'a.id'に$ join-は> '='、 'B。 goodId ')
- >ここで(' b.status'、 '='、 'SUCCESS')
- >ここで( 'b.type'、 '='、 'UNLOCK');
}、NULL、NULL、 '左')
- >ここで( 'a.id'、 '>'、1)
- >()を得ます。

//相当于
としてapp_a SELECT * FROM
LEFTはa.id = b.goodIdにbとapp_b JOIN
とb.status = 'SUCCESS'とb.type = 'UNLOCK'
a.id> 1。


参加は左に合格しない場合、デフォルトは内部です。

おすすめ

転載: www.cnblogs.com/JdsyJ/p/11357104.html