self::query () 与 static::query () 的问题
public static function findAvailableNo()
{
// 订单流水号前缀
$prefix = date('YmdHis');
for ($i = 0; $i < 10; $i++) {
// 随机生成 6 位的数字
$no = $prefix.str_pad(random_int(0, 999999), 6, '0', STR_PAD_LEFT);
// 判断是否已经存在
if (!static::query()->where('no', $no)->exists()) {
return $no;
}
}
\Log::warning('find order no failed');
return false;
}
public static function getAvailableRefundNo()
{
do{
//Uuid类可以生成大概率不重复的字符串
$no = Uuid::uuid4()->getHex();
//为了避免重复我们在生成之后在数据库中查询看看是否已经存在相同的退款订单号
} while(self::query()->where('refund_no',$no)->exists());
return $no;
}
请问这儿为啥一个用 static::query()
,一个用 self::query()
啊?还有就是能否讲解一下这儿的 query()
是?
谢谢解答!
推荐文章: