Laravel PHPフレームワークでは、次のようにwhere句内で条件を使用できます(Fluent)。
...
->where(function($query) use ($var) {
if(isset($var)) {
$query->where('something', '=', $var);
}
})
->...
したがって、$ var変数がない場合、where句はクエリに追加されません。
同じことをしたいのですが、join句を使用します。たとえば、$ varが設定されている場合にのみ別のテーブルと結合しますが、これが機能しない場合、クエリは折りたたまれます。
...
->join('tableB', function($query) use ($var) {
if(isset($var)) {
$query->on('tableA.id', '=', 'tableB.id');
}
})
->...
なにか提案を?