laravel中有没有重载模型对象的
public function total()
{
$query = MaintenanceArtificialOrder::query();
return $this->success([
'wait_pay' => (clone $query)->waitPay()->count(),
'wait_process' => (clone $query)->waitProcess()->count(),
'processing' => (clone $query)->processing()->count(),
'wait_return' => (clone $query)->waitReturn()->count(),
'wait_settlement' => (clone $query)->waitSettlement()->count()
]);
}
代替clone,把对象的query重置,有没有办法???
clone 不是重载呀 是复制吧
有两种情况:
另:可以用预设方法的方式实现,但使用场景自己斟酌,比如这样:
这不正是 clone 的用途, clone 查询构建器对象那点儿内存,还不及你的 select 里面仅选择需要的字段来的多。
查询构建器上也提供了一个 clone 方法,就当是是一个可以链式调用快捷方式了。