当我执行Query\Builder
之类的操作时,它会返回with()
个实例。如何在不需要调用new SomeModel
(或类似)的情况下获取此实例?
例如,我尝试了它:SomeModel::getQuery
,但它显然会返回我的模型的实例,而不是查询构建器(不适用于我)。 Query\Builder
也不起作用,因为它会返回与我的模型无关的$someBuilder = SomeModel::getQueryBuilder(); // eg.
if(condition()) {
$someBuilder->where(...);
}
$someResults = $someBuilder->get();
。
我需要它根据一些条件设置。所以最初它需要为空,就像它一样:
update MettingRegister
set sMeetingTime = '0' + MeetingTime
where MeetingTime like '_:%';
答案 0 :(得分:51)
使用静态query
方法:
$query = User::query();
此外,您可以使用when
方法将这些条件直接链接到查询构建器本身:
$results = SomeModel::query()->when(condition(), function ($query) {
$query->where(...);
})->get();
这在功能上等同于命令式if
子句。