hasMany(RegularActivityMember::class, 'activity_id', 'id'); } public function orders() { return $this->hasMany(RegularActivityOrder::class, 'activity_id', 'id'); } public function scopeKeyword($query) { $keyword = request()->keyword; if ($keyword) return $query->where("title", 'like', "%{$keyword}%"); return $query; } public function scopeDate($query) { $date = request()->date; if ($date) return $query->where("date", 'like', $date); return $query; } public function scopeValid($query) { $now = date("Y-m-d H:i:s"); return $query->where('end_time', '>', $now)->whereNotNull("pic"); } public function lottery() { return $this->morphOne(Lottery::class, 'lotteryable'); } public function activityQrcodes() { return $this->hasMany(RegularActivityQrcode::class, 'activity_id', 'id'); } public function membersLogs() { return $this->hasMany(RegularActivityMemberLog::class, 'activity_id', 'id'); } }