查询生成器 laravel 如果 var null 或 "" 加载所有数据

query builder laravel if var null or "" load all data

我有一个 var 让我们说 $var1

我想运行像这样在查询生成器中

DB::table('test')->join('... `many join here` ....')->where('testA', '=', '$var1')->get();

问题是如果 $var = ""null 它不是 return 任何数据

我试着按照这个 link @phill answer

但在查询构建器中实现混淆 laravel


@更新

当我在 3 中添加 $get 时,它没有显示任何内容

当我检查控制台时出现错误 500(class 的对象无法转换为字符串)

当我在 2 中添加 $get 时,当 $var 不为空时它可以给出结果..但是当 $var 为空时它是错误的

我哪里不见了?

你可以这样试试:

$var1 = "";
$q = DB::table('test')->join('... `many join here` ....');

$result = !isset($var1) ? $q : $q->where('testA', '=', $var1);
$result = $result->orderBy('column')->get();
 return $result;

如果您愿意,可以将 empty 更改为 !isset