Русскоязычный форум, посвященный фреймворку Kohana http://forum.kohanaframework.su/ |
|
Не понимаю как работать с внешними ключами?! http://forum.kohanaframework.su/viewtopic.php?f=33&t=618 |
Страница 1 из 1 |
Автор: | Deric [ 20 апр 2013, 11:23 ] |
Заголовок сообщения: | Не понимаю как работать с внешними ключами?! |
День бобрый! Стоит простая задача: в табличке "table_name" записывать некоторые данные с указанием id юзера от имени которого запись делается. Соответственно я так понял делать это надо через внешний ключ! Для этого в табличке "table_name" я сделал колонку и прилепил ей связь: Код:
По простоте своей душевной, больше ни каких изменений в БД я не вносил ибо думал что достаточно в колонку iduser вставлять корректные значения из id таблицы users и все у меня будет пучком, но видать чего-то я таки не понимаю - то ли в Kohana, то ли в SQL ибо вот этот кусочек кода: Код:
Выдает мне вот такую ошибку: Код:
Подскажите плиз что читать, где искать и как примус сей починить?! Спасибо! |
Автор: | Sergey [ 20 апр 2013, 14:43 ] |
Заголовок сообщения: | Re: Не понимаю как работать с внешними ключами?! |
О проблеме https://www.google.ru/search?q=foreign+ ... aint+fails О внешних ключах http://phpclub.ru/mysql/doc/example-foreign-keys.html |
Автор: | Deric [ 21 апр 2013, 19:35 ] |
Заголовок сообщения: | Re: Не понимаю как работать с внешними ключами?! |
Боюсь что у меня в данном случае "смотрю в книгу - вижу фигу" ... Код:
Я вообще не понимаю чего привязались к users`ам? Мне нужно данные в таблицу "table_name" записать =( Может там по другому ссылку надо указывать? Не пониаю ... |
Автор: | Sergey [ 21 апр 2013, 22:34 ] |
Заголовок сообщения: | Re: Не понимаю как работать с внешними ключами?! |
Судя по сообщению о ошибке можно сказать, что вы используете ссылочную целостность основанную на внешних ключах InnoDB. Если вы не нашли время чтоб разобраться в этом, а просто скопипастили кусок кода, то видимо всё таки сейчас придётся найти время, чтоб разобраться в этом. Как то так |
Автор: | Deric [ 22 апр 2013, 00:11 ] |
Заголовок сообщения: | Re: Не понимаю как работать с внешними ключами?! |
Как все же тяжело нубам жить на свете =(( Перечитав kohana3 я решил что данный кусок кода будет правильным: Код:
однако на самом деле $user['id'] выдает NULL, соответственно и ругаеца на внешний ключ, как бы я там не издевался над настройками самой БД, проблема получается в том что ни: Код:
ни Код:
не являются валидными способами получения id юзера ... Вопрос тогда: а как правильно? Код:
Возвращает юзернейм и жутко не красивым выглядит поиск таким образом через orm непосредственно в таблице юзеров. А читая родную документацию по kohana я всё чаще и чаще задумываюсь о возврате к изучению корейско - точно так же ни фига не понятно =( |
Автор: | Sergey [ 22 апр 2013, 22:06 ] |
Заголовок сообщения: | Re: Не понимаю как работать с внешними ключами?! |
Что бы проще разобраться, для начала, разберитесь что конкретно и в каких случаях возвращает get_user() Например, тип возвращаемого результата точно не объект, по крайней мере, если мне не отшибло память (я работаю с модифицированным классом Auth). А если я прав, то совершенно не верно использовать это так: Код:
А ещё, если я все правильно помню, get_user() принимает параметр по умолчанию для тех случаев, когда вернуть нечего. Т.е. вызвать его можно примерно так Код:
или так: Код:
или даже так: Код:
Конечно всё это дело лучше поместить в какое нибудь условие на проверку существования в сессии чего нибудь, а именно оттуда get_user получает то, что вы от него хотите получить |
Страница 1 из 1 | Часовой пояс: UTC + 4 часа [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |