我如何使用laravel query builder的当前查询创建一个条件,这是否可能,我想它看起来像这样的东西
$record = $this->repository
->where('value', $value)
->when($thisQuery->get()->isNotEmpty(), static function(){
//execute
});
你可以在匿名函数中使用子查询,就像下面的例子一样。
$record = $this->repository
->where('value', $value)
->where(function($query) {
/** @var $query Illuminate\Database\Query\Builder */
return $query->where('foo', 'LIKE', '%foooo%')
->orWhere('foo', 'bar');
})
->get();
你也可以像下面这样运行多个where子句。
$record = $this->repository
->where('value', $value)
->where('foo', 'bar')
->get();
而且取决于 requirements
使用适当的方式。