查询生成器 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
。
我有一个 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
。