| Предыдущая тема :: Следующая тема   | 
	
	
	
		| Автор | 
		Сообщение | 
	
	
		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, чтобы видеть, что происходит   | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
		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(). | 
			 
		  | 
	
	
		| Вернуться к началу | 
		 | 
	
	
		  | 
	
	
	
	
	
		 |