each(function ($item) { $statusText = '进行中'; $now = date('Y-m-d H:i:s'); if ($item['begin_at'] > $now) { $statusText = '未开始'; } if ($item['begin_at'] < $now && $now < $item['end_at']) { $statusText = '进行中'; } if ($item['end_at'] < $now) { $statusText = '已结束'; } $item->activity_status = $statusText; $item->status_text = $item->is_restore == SpuLimitTime::COMMON_ON ? '暂停' : '开启'; }); return $res; } /** * @return HasOne */ public function spu(): HasOne { return $this->hasOne(Spu::class, 'id', 'spu_id'); } }