'\common\models\User', 'targetAttribute' => 'id'], ['from_user_id', 'exist', 'targetClass' => '\common\models\User', 'targetAttribute' => 'id'], ['be_pet_id', 'exist', 'targetClass' => '\common\modules\pet\vo\Pet', 'targetAttribute' => 'id'], [['damage_total', 'weak_until', 'active'], 'default', 'value' => 0], [['damage_total', 'weak_until', 'active'], 'number', 'integerOnly' => true, 'min' => 0], ['created_at', 'default', 'value' => 0], ['updated_at', 'default', 'value' => 0], ]; } public static function findCurrent($beUserID, $bePetID, $fromUserID) { return self::findOne([ 'be_user_id' => $beUserID, 'be_pet_id' => $bePetID, 'from_user_id' => $fromUserID, 'weak_until' => 0, ]); } public static function hasActive($beUserID, $bePetID, $fromUserID, $now) { return self::find() ->where([ 'be_user_id' => $beUserID, 'be_pet_id' => $bePetID, 'from_user_id' => $fromUserID, 'active' => 1, ]) ->andWhere(['>', 'weak_until', $now]) ->exists(); } }