where([$this->getTable().'.is_open' => StoreConstants::IS_OPEN_YES, $this->getTable().'.status' => StoreConstants::STATUS_PASS]); }); } public function scopeOrderByDefault($query, $sort) { return $query->orderBy($this->getTable().'.sort', $sort)->orderBy($this->getTable().'.id', $sort); } public function scopeOrderBySales($query, $sort) { return $query->orderBy($this->getTable().'.sales', $sort); } public function getMonthSalesAttribute() { $ssdb = ApplicationContext::getContainer()->get(SSDBTask::class); return (integer)$ssdb->exec('get', SsdbKeys::STORE_MONTH_SALES.date('Ym').'_'.$this->id); } public function getLogoAttribute($value) { return $this->attachmentService->switchImgToAliOss($value, OssThumbnail::THUMBNAIL_300_Q80); } public function goods() { return $this->hasMany(Goods::class, 'store_id', 'id')->limit(5); } public function shoppingCart() { return $this->hasMany(ShoppingCart::class, 'store_id', 'id'); } public function market() { return $this->belongsTo(Market::class, 'market_id', 'id'); } }