Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
[YII] Добавление/изменение строк в таблице с композитным ключом
|
|||
|---|---|---|---|
|
#18+
Привет, народ! Есть таблица из двух полей (имя пользователя и код из справочника). Есть уникальный ключ, в который входят оба эти поля. Поскольку из самого GII не получается генерить CRUD для таблиц с композитным ключнм, воспользовался сайтом http://handsoncoding.net/ Все бы хорошо но операции изменения и добавления не работают - при операции изменения, после нажатия кнопки submit данные просто не меняются, а при операции создания новой записи рисует ошибку автор"Error 0 Invalid operation." В чем ошибка? Как сделать чтобы работали эти операции?? зы. Во вложениях сгенренные файлы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2014, 10:55 |
|
||
|
[YII] Добавление/изменение строк в таблице с композитным ключом
|
|||
|---|---|---|---|
|
#18+
Имхо у вас тупо не срабатывает присвоение Код: php 1. и при создании и при апдейте Попробуйте в модели объявить поля вашей таблицы как 'safe' Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. По идее должно сохранить. А еще не глушите эксепшн в контроллере и посмотрите реальный текст ошибки, который вам выведется. Может там ваще с БД чего-то. Для этого временно замените фунциклюшку saveModel на более простую, и посмотрите, какими словами оно вам будет ругаться Код: php 1. 2. 3. 4. добейтесь, что сохранение пойдёт, а потом уже будете обвешивать перехватами "Integrity constraint violation" и иже с ними ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 00:57 |
|
||
|
[YII] Добавление/изменение строк в таблице с композитным ключом
|
|||
|---|---|---|---|
|
#18+
А ваще отладку никто не отменял :) Простое втыкание var_dump() в нужных местах иногда помогает. Например, при создании посмотрите, что у вас приходит в POST и что получается после присваивания атрибутов. Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 01:01 |
|
||
|
[YII] Добавление/изменение строк в таблице с композитным ключом
|
|||
|---|---|---|---|
|
#18+
anvano... Попробуйте в модели объявить поля вашей таблицы как 'safe' ... Шаман, волшебник ))) Вопрос от новичка - что именно в навело на мысль про 'safe'? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 09:10 |
|
||
|
[YII] Добавление/изменение строк в таблице с композитным ключом
|
|||
|---|---|---|---|
|
#18+
SQL-Talker, Ошибка при сохранении в 90% случаев = ошибка в запросе. Ошибка в запросе = 90% неправильно биндятся переменные. А в YII если переменные неправильно биндятся, то скорее всего они ваще пустые А если они пустые, то 90% при назначении модели отфильтровались, то бишь не описаны как 'safe' :) Короче логика как в анекдоте "Коробка квадратная, значит, предмет там круглый. Раз круглый, значит, оранжевый". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2014, 12:11 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=38685607&tid=1462648]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
74ms |
get topic data: |
14ms |
get forum data: |
4ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 255ms |
| total: | 444ms |

| 0 / 0 |
