prepareFilter($filter, 'B'); if ($countOnly) { return (int)$this->db->one_data( 'SELECT COUNT(B.id) FROM ' . static::TABLE_BILLS . ' B' . $filter['where'], $filter['bind'] ); } $data = $this->db->select( 'SELECT B.*, DATE(B.created) as created_date FROM ' . static::TABLE_BILLS . ' B ' . $filter['where'] . (!empty($orderBy) ? ' ORDER BY B.' . $orderBy : '') . $limit, $filter['bind'] ); if (empty($data)) { return []; } foreach ($data as &$v) { $v['is_minus'] = in_array($v['type'], [static::TYPE_OUT_ADMIN, static::TYPE_OUT_SERVICE]); } unset($v); return $data; } /** * Метод обрабатывающий ситуацию с удалением пользователя * @param int $userID ID пользователя * @param array $options доп. параметры удаления * @return void */ public function onUserDeleted($userID, array $options = []) { if (empty($userID)) { return; } # Отвязываваем счета от пользователя $this->db->update(static::TABLE_BILLS, ['user_id' => 0], ['user_id' => $userID]); } }