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

find и типы переменных. запутался.
На страницу 1, 2  След.
 
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий
Предыдущая тема :: Следующая тема  
Автор Сообщение
Kondrat
Гость
цитировать






СообщениеДобавлено: 06 Май 2008 14:47:41    Заголовок сообщения: find и типы переменных. запутался. Ответить с цитатой Изменить/удалить это сообщение

сделал табличку Tag. сохранил таг 'name' 99ru, 'id' 10.
потом сохраняю таг 99 (ищу если ли такой findByName), но... PHP приводит типы, находит, что 99 уже есть, 'id' 10. Пробовал устанавливать тип, не помогает. Что делать?
Вернуться к началу
Kondrat
Гость
цитировать






СообщениеДобавлено: 06 Май 2008 16:55:23    Заголовок сообщения: Ответить с цитатой Изменить/удалить это сообщение

база данных:
Код:

CREATE TABLE /*!32312 IF NOT EXISTS*/ `tags` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `name` varchar(255) NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;



#
# Dumping data for table 'tags'
#

/*!40000 ALTER TABLE `tags` DISABLE KEYS*/;
LOCK TABLES `tags` WRITE;
REPLACE INTO `tags` (`id`, `name`) VALUES (1,'99ru');
UNLOCK TABLES;
/*!40000 ALTER TABLE `tags` ENABLE KEYS*/;


Контроллер
Код:

<?php
class TagsController extends AppController {
function add() {
 if ( !empty($this->data) ) {

  if( $this->Tag->findByName($this->data['Tag']['name']) ) {
   debug ($this->data['Tag']['name']);
   debug( $this->Tag->findByName($this->data['Tag']['name']) );
  } else {
   echo 'no tag';
  }
 }
}

}
?>


View: add.ctp
Код:

<div class="tags form">
<?php echo $form->create('Tag');?>
  <legend><?php __('Add tag');?></legend>
<?php
 echo $form->input('name');
?>
<?php echo $form->end('Submit');?>
</div>


Потом проверяю 99.
ХЕЛП!!!
Вернуться к началу
nws

цитировать



Зарегистрирован: 25 Фев 2008 15:42:23
Сообщения: 96

СообщениеДобавлено: 06 Май 2008 23:28:16    Заголовок сообщения: Ответить с цитатой

Если у тебя id -> autoincrement
Зачем ты вносишь значение ?

INSERT INTO `tags` (`id`,`name`)
VALUES(NULL,'99ru')
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Kondrat
Гость
цитировать






СообщениеДобавлено: 07 Май 2008 10:39:03    Заголовок сообщения: Ответить с цитатой Изменить/удалить это сообщение

я значение id не вношу, просто дамп таблички вставил.

Видно это баг Cake'а , те я для эксперимента на паре Cake сайтов зарегистрировался:
вначале регистрировал username 1234556566bla, потом 123455656
и получал, что такой юзер уже есть.
Вернуться к началу
Vlad

цитировать



Зарегистрирован: 02 Ноя 2007 11:45:52
Сообщения: 241

СообщениеДобавлено: 07 Май 2008 15:43:24    Заголовок сообщения: Ответить с цитатой

Ага, не "кавычит".
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
DeeperMD

цитировать



Зарегистрирован: 08 Фев 2008 15:04:11
Сообщения: 144
Откуда: $Молдова->Кишинёв->Буюканы()

СообщениеДобавлено: 07 Май 2008 17:36:22    Заголовок сообщения: Ответить с цитатой

Kondrat
Что-то вообще не понятно, что ты хошь сделать..
Давай делатьно. сокращения нах..
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Kondrat
Гость
цитировать






СообщениеДобавлено: 07 Май 2008 19:11:02    Заголовок сообщения: Ответить с цитатой Изменить/удалить это сообщение

Все просто, попробуй в своем Cake проекте:
к примеру хочу зарегистрироваться.
1. выбираю ник 007agent.
2 Регистрируюсь.
3. другой юзер хочет ник 007.
4 регистрируется. Получает message, что такой уже есть.
Вернуться к началу
nws

цитировать



Зарегистрирован: 25 Фев 2008 15:42:23
Сообщения: 96

СообщениеДобавлено: 07 Май 2008 19:25:45    Заголовок сообщения: Ответить с цитатой

Цитата:
к примеру хочу зарегистрироваться.
1. выбираю ник 007agent.
2 Регистрируюсь.
3. другой юзер хочет ник 007.
4 регистрируется. Получает message, что такой уже есть.


У меня все регистрирует, это ты что-то забуровил...

Вот мой дамп таблицы


Цитата:
--
-- Структура таблицы `users`
--

CREATE TABLE `users` (
`id` int(11) NOT NULL auto_increment,
`username` varchar(40) collate utf8_unicode_ci NOT NULL,
`password` varchar(40) collate utf8_unicode_ci NOT NULL,
`email` varchar(255) collate utf8_unicode_ci NOT NULL,
`last_login` datetime NOT NULL,
`is_moder` tinyint(4) NOT NULL default '0',
`is_admin` tinyint(4) NOT NULL default '0',
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`,`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=16 ;
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
DeeperMD

цитировать



Зарегистрирован: 08 Фев 2008 15:04:11
Сообщения: 144
Откуда: $Молдова->Кишинёв->Буюканы()

СообщениеДобавлено: 07 Май 2008 19:28:07    Заголовок сообщения: Ответить с цитатой

На первый взгляд бредовый результат..
Включи debug 2 и посмотри какой запрос уходит в базу, на которые он отвечает что такая запись есть.
У меня лично не было такого..
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Igor-san

цитировать



Зарегистрирован: 20 Апр 2008 14:03:15
Сообщения: 2

СообщениеДобавлено: 07 Май 2008 19:28:10    Заголовок сообщения: Ответить с цитатой

Что-то похожее и у меня, пока изучаю пекарню, и убрал проверку на валидность email. Так вот, есть допустим юзер 123 с емайлом 123@test.ru
Завожу юзера 345 с емайлом 123, и Саке выдает, что такой юзер уже есть. Пока допер,откуда ноги растут, ну в реальной ситуации с проверкой валидности это не страшно. Но, видно и с именем такая же петрушка. Вывод - писать собственную проверку.
_________________
Учу cake_1.2.0.6311-beta
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
DeeperMD

цитировать



Зарегистрирован: 08 Фев 2008 15:04:11
Сообщения: 144
Откуда: $Молдова->Кишинёв->Буюканы()

СообщениеДобавлено: 07 Май 2008 19:30:48    Заголовок сообщения: Ответить с цитатой

Какую версию используете?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Igor-san

цитировать



Зарегистрирован: 20 Апр 2008 14:03:15
Сообщения: 2

СообщениеДобавлено: 07 Май 2008 19:49:57    Заголовок сообщения: Ответить с цитатой

Я решил сразу начать с 1.2.0.6311 beta, правда, пришлось помучаться пока изучал статьи на IBM.com, но так лучше учится.
_________________
Учу cake_1.2.0.6311-beta
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
DeeperMD

цитировать



Зарегистрирован: 08 Фев 2008 15:04:11
Сообщения: 144
Откуда: $Молдова->Кишинёв->Буюканы()

СообщениеДобавлено: 07 Май 2008 20:08:43    Заголовок сообщения: Ответить с цитатой

Debug проверили?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Kondrat
Гость
цитировать






СообщениеДобавлено: 07 Май 2008 20:09:30    Заголовок сообщения: Ответить с цитатой Изменить/удалить это сообщение

http://scratch.mit.edu/signup

к примеру щас попробовал, тоже самое.
Как у вас работает?
мой кусок кода тоже баг показывает.
Вернуться к началу
Kondrat
Гость
цитировать






СообщениеДобавлено: 07 Май 2008 20:16:20    Заголовок сообщения: Ответить с цитатой Изменить/удалить это сообщение

debug конечно цифру показывает. '999'. эту цифру находит в записи с такой же цифрой '999пример' , которая до того уже была.
если вначале записать цифру , а потом цифру с буквой, то все ок.
Вернуться к началу
Имя
Сообщение

Смайлики
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, 2  След.
Страница 1 из 2

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


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

Рейтинг@Mail.ru