查询构建器laravel如果var null或“”加载所有数据

时间:2016-01-09 14:27:33

标签: php laravel laravel-query-builder

我有一个var让我们说$var1

我想在像

这样的查询构建器中运行它
DB::table('test')->join('... `many join here` ....')->where('testA', '=', '$var1')->get();

问题是如果$var = ""null它没有返回任何数据

我尝试按照link @phill回答

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

@Update

enter image description here

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

当我检查控制台时,它的错误是500(类的对象无法转换为字符串)

当我在$get中添加2时,如果$var不为空,则可以给出结果。但是当$var清空错误时

我在哪儿?

1 个答案:

答案 0 :(得分:1)

您可以尝试这种方式:

$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