Почему не работает хук удаления пользователей? 2.X

 
Посетитель
small user social cms
Медаль
Сообщений: 162
Код PHP:
  1. <?php
  2.  
  3. class onUsersfilterCronUsersdelete extends cmsAction {
  4.  
  5. public function run(){
  6. $users_model = cmsCore::getModel('users');
  7.  
  8. // Получаем всех пользователей
  9. $users = $users_model->getUsers();
  10.  
  11. // Перебираем массив пользователей
  12. foreach($users as $user){
  13.  
  14. // Если профайл удален - удаляем юзера
  15. if ($user['is_deleted'] == 1){
  16. $users_model->deleteUser($user);
  17. }
  18. }
  19. }
  20. }
  21. ?>
Показывает, что хук выполнен. Но все удаленные остаються. Что должно произойти если $ users_model-> deleteUser ($ user) не сможет какогото пользователя удалить? Цикл дальше пойдьот и тот пользователей останется?

Или выполнение скрипта прекратится?
Редактировалось: 1 раз (Последний: 15 февраля 2020 в 22:51)
Посетитель
small user social cms
Медаль
Сообщений: 162
Как мне узнать что $users = $users_model->getUsers(); Получает пользователей?
Реклама
cms
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 3233
@andriu3240:
Как мне узнать что $users = $users_model->getUsers(); Получает пользователей?
dump($users);
или
print_r($users);
Посетитель
small user social cms
Медаль
Сообщений: 162
Выбирает но не все. В $user попадает 1800 профилей. Почему остальных не выбирает?
Редактировалось: 1 раз (Последний: 18 февраля 2020 в 16:22)
Посетитель
small user social cms
Медаль
Сообщений: 162
Как выбрали только тех пользователей у которых ['is_deleted'] == 1 ?
Так количество людей будет меньше.
Посетитель
small user social cms
Медаль
Сообщений: 162
Кто-то сталкивался с неполной выборке с базы? Я думаю нефатка ресурса. Комп мочно. Как Open Server увеличит ресурсы?
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 3233
@andriu3240,
Попробуйте так:
Спойлер
@andriu3240:
Я думаю нефатка ресурса. Комп мочно. Как Open Server увеличит ресурсы?
Ресурсы не при чем.
Посетитель
small user social cms
Медаль
Сообщений: 162
Неизвестный столбец 'i.is_deleted' в 'where clause'

SELECT i.*
FROM cms_users_friends i
WHERE (i.is_deleted = '1') AND (i.user_id = 'u')
LIMIT 1000
там не масив пользователей.
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 3233
Извините, забыл саму выборку.
Спойлер
Посетитель
small user social cms
Медаль
Сообщений: 162
Фигня якас виходить . Ошибка що не коректний параметр цикла var_dump($users); вивело bool(false)
Посетитель
small user social cms
Медаль
Сообщений: 162
Как я понял проблема именно в столбце is_deleted. Попробовал $ users = $ users_model-> filterEqual ( 'city', 3354) -> getUsers (); вывело людей с конкретного города. Пробовал вывести людез с 1 детина тоже вивнло. Код рабочий.
Пробовал не удаленных $ users = $ users_model -> ( 'is_deleted ', 'Null ') -> getUsers (); вывести Не получилось. Пробовал так $ users = $ users_model-> filterNotNull ( 'is_deleted') -> getUsers (); то же bool (false). Я уже не знаю что думать?
Посетитель
small user social cms
Медаль
Сообщений: 162
Кому не лень запустите у себя этот хук. И напишите что получилось?
Посетитель
small user social cms
Медаль
Сообщений: 458
@andriu3240, попробуйте из phpMyAdmin выполнить запрос (это количество помеченных к удалению пользователей)
Код SQL:
  1.  
  2. SELECT COUNT(*) FROM cms_users WHERE is_deleted = '1'
  3.  
Если получится выбрать нужное количество - дайте знать.
Редактировалось: 1 раз (Последний: 22 февраля 2020 в 16:59)
Посетитель
small user social cms
Медаль
Сообщений: 162
Получилось 1806
Посетитель
small user social cms
Медаль
Сообщений: 458
@andriu3240, пробуем дальше, для выборки используйте этот код
Код PHP:
  1.  
  2. $db = cmsDatabase::getInstance();
  3. $q = "SELECT * FROM cms_users WHERE is_deleted = '1'";
  4. $res = $db->query($q);
  5. $removed = [];
  6. while($row = mysqli_fetch_array($res, MYSQLI_ASSOC)) {
  7. //echo $row["id"].$row["email"].$row["password_hash"]."<br>";
  8. $removed[] = $row;
  9. }
  10. // теперь в $removed все помеченные к удалению пользователи
  11.  
Редактировалось: 1 раз (Последний: 22 февраля 2020 в 18:15)
В начало страницы
Предыдущая темаСледующая тема Перейти на форум: