'integer', 'site_id' => 'integer', 'user_id' => 'integer', 'is_default' => 'integer']; const string CREATED_AT = 'create_time'; const string UPDATED_AT = 'update_time'; /** * @param int $id * @return UserSite|UserSite[]|Collection|\Hyperf\Database\Model\Model|null */ public function getInfoById(int $id): Collection|\Hyperf\Database\Model\Model|UserSite|array|null { return $this->find($id); } /** * @param int $userId * @param int $siteId * @return Builder|\Hyperf\Database\Model\Model|null */ public function getInfoByUserIdAndId(int $userId, int $siteId): \Hyperf\Database\Model\Model|Builder|null { return $this->where('user_id', $userId)->where('id', $siteId)->first(); } /** * @param int $userId * @return array */ public function getSiteIdsByUserId(int $userId): array { return $this->where('user_id', $userId)->pluck('site_id')->toArray(); } /** * @param int $userId * @return int */ public function getUserDefaultIdByUserId(int $userId): int { return $this->where('user_id', $userId)->where('is_default',SiteCode::USER_DEFAULT)->value('site_id') ?? 0; } /** * @param int $userId * @return BuildsQueries|Builder|\Hyperf\Database\Model\Model|object|null */ public function getUserNoDefaultIdByUserId(int $userId): \Hyperf\Database\Model\Model|Builder|BuildsQueries|null { return $this->where('user_id', $userId)->where('is_default',SiteCode::USER_NO_DEFAULT)->first(); } /** * @param int $userId * @return BuildsQueries|Builder|\Hyperf\Database\Model\Model|object|null */ public function getUserDefaultInfoByUserId(int $userId) { return $this->where('user_id', $userId)->where('is_default',SiteCode::USER_DEFAULT)->first(); } }