Список форумов Cake-PHP.ru Cake-PHP.ru
Форум программистов CakePHP
(на сайт)
 
 Watched TopicsWatched Topics   FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Проверка записи другой таблицы

 
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий
Предыдущая тема :: Следующая тема  
Автор Сообщение
aktuba

цитировать



Зарегистрирован: 18 Янв 2008 10:24:01
Сообщения: 38

СообщениеДобавлено: 20 Янв 2008 22:57:05    Заголовок сообщения: Проверка записи другой таблицы Ответить с цитатой

В базе данных есть темповая таблица - tempusers. В контроллере UsersController мне необходимо проверить, есть ли в темповой таблице запись с определенным значением - никак не могу додумать, как это реализовать. Делаю следующее:
Код:

$res = $this -> User -> query('SELECT COUNT(*) c FROM tempusers WHERE login="' . $login . '"');


а вот как дальше определить, какое значение полученно - не понимаю. $res[0]['c'] не помогает... Может я что не так делаю?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Борис

цитировать



Зарегистрирован: 08 Янв 2008 00:26:04
Сообщения: 8

СообщениеДобавлено: 20 Янв 2008 23:21:58    Заголовок сообщения: Re: Проверка записи другой таблицы Ответить с цитатой

aktuba писал(а):
В базе данных есть темповая таблица - tempusers. В контроллере UsersController мне необходимо проверить, есть ли в темповой таблице запись с определенным значением - никак не могу додумать, как это реализовать. Делаю следующее:
Код:

$res = $this -> User -> query('SELECT COUNT(*) c FROM tempusers WHERE login="' . $login . '"');


а вот как дальше определить, какое значение полученно - не понимаю. $res[0]['c'] не помогает... Может я что не так делаю?


Во-первых, "COUNT(*) c" следует заменить на "COUNT(*) AS c".
Во-вторых, что хотите определить? Может проще простым "SELECT *" воспользоваться, а потом проверить возвращаемый результат на false, тогда и дополнительные атрибуты будут сразу получены, если они нужны...

Попробуйте включить "полную" отладку - 3, чтобы видеть, что происходит Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
aktuba

цитировать



Зарегистрирован: 18 Янв 2008 10:24:01
Сообщения: 38

СообщениеДобавлено: 21 Янв 2008 00:27:05    Заголовок сообщения: Ответить с цитатой

Цитата:
Во-вторых, что хотите определить?


У меня 2 таблицы: users (зарегистрированные пользователи) и tempusers (неподтвержденные пользователи). Теперь, когда кто-то еще регистрируется, надо проверить занятость логина и пароля в обеих таблицах, а вот как это сделать...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
KPOTOB

цитировать



Зарегистрирован: 09 Дек 2007 14:46:20
Сообщения: 127

СообщениеДобавлено: 21 Янв 2008 13:23:40    Заголовок сообщения: Ответить с цитатой

Цитата:
а вот как это сделать...


Использовать одну таблицу
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
aktuba

цитировать



Зарегистрирован: 18 Янв 2008 10:24:01
Сообщения: 38

СообщениеДобавлено: 21 Янв 2008 13:24:45    Заголовок сообщения: Ответить с цитатой

Цитата:
Использовать одну таблицу


На это и перешел, но это не верно, т.к. в таблице будет хранится много мусора и, соответственно, будет работать дольше...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
evilbloodydemon

цитировать



Зарегистрирован: 11 Окт 2007 20:32:19
Сообщения: 125

СообщениеДобавлено: 21 Янв 2008 15:02:32    Заголовок сообщения: Ответить с цитатой

Цитата:
На это и перешел, но это не верно

это верно, потому что это одна сущность - пользователи, различающиеся лишь свойством зарегистрирован/незарегистрирован
Цитата:
в таблице будет хранится много мусора и, соответственно, будет работать дольше

"сначала сделай чтобы работало, а только потом делай чтобы работало быстро" В©
_________________
поздняк метаться - ракеты в воздухе
jabber-конференция по CakePHP - xmpp:cakephp@conference.jabber.ru
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
aktuba

цитировать



Зарегистрирован: 18 Янв 2008 10:24:01
Сообщения: 38

СообщениеДобавлено: 21 Янв 2008 17:05:17    Заголовок сообщения: Ответить с цитатой

Код:
"сначала сделай чтобы работало, а только потом делай чтобы работало быстро" В©


Хорошая фраза... Но хотелось бы все-таки понять, как проверить данные в другой таблице. Понять, в каком виде возвращаются данные из $this -> Model -> query() и как их правильно обрабатывать.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Борис

цитировать



Зарегистрирован: 08 Янв 2008 00:26:04
Сообщения: 8

СообщениеДобавлено: 21 Янв 2008 19:43:09    Заголовок сообщения: Ответить с цитатой

aktuba писал(а):
Понять, в каком виде возвращаются данные из $this -> Model -> query() и как их правильно обрабатывать.


http://api.cakephp.org/1.2/class_model.html#bca9540af2da0f51f169126653f9987f
Returns:
array Resultset public

если хотите увидеть, что именно, то можете просто вызвать отладочную печать или в отладчике
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Антон Исайкин
Site Admin
цитировать



Зарегистрирован: 08 Окт 2007 12:02:56
Сообщения: 150
Откуда: Санкт-Петербург

СообщениеДобавлено: 21 Янв 2008 21:10:45    Заголовок сообщения: Ответить с цитатой

aktuba
В php есть крутая функция print_r(), а в CakePHP еще более крутая обвертка над этой функцией pr().
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Имя
Сообщение

Смайлики
Very Happy Smile Sad Surprised
Shocked Confused Cool Laughing
Mad Razz Embarassed Crying or Very sad
Evil or Very Mad Twisted Evil Rolling Eyes Wink
Exclamation Question Idea Arrow
Дополнительные смайлики

 
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы можете начинать темы
Вы можете отвечать на сообщения
Вы можете редактировать свои сообщения
Вы можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB

Рейтинг@Mail.ru