Показать сообщение отдельно
  #2 (permalink)  
Старый 04.06.2015, 00:30
Аватар для nohuhu
Профессор
Отправить личное сообщение для nohuhu Посмотреть профиль Найти все сообщения от nohuhu
 
Регистрация: 21.05.2015
Сообщений: 321

Если я правильно понимаю ваш вопрос, то генератор не нужно выключать. При создании записи (экземпляра модели) ей присваивается внутренний id и статус фантомной, т.е. не существующей на сервере.

Когда Store отправляет записи на сервер, они передаются с фантомным id. Нормальный протокол со стороны сервера, в цикле по каждой записи:
  1. Сохраняем переданный фантомный id в переменную
  2. Пишем запись в базу
  3. Создаём объект для возврата
  4. Реальный сгенерированный базой id возвращаем в поле idProperty
  5. Старый фантомный id возвращаем в поле clientIdProperty
  6. Сохраняем возвратный объект в массив для возврата и идём к следующей записи

Такой же механизм будет использоваться и для отдельных экземпляров моделей, без Store. Смотрите документацию: http://docs.sencha.com/extjs/5.1/5.1...ientIdProperty

Ещё могу предложить посмотреть пример (более/менее) правильной реализации CRUD: https://github.com/nohuhu/HTML5-Star...Direct/Base.pm. Я над этим проектом потихоньку работаю в свободное время. Это не PHP, но при желании разберётесь. ;)
Ответить с цитированием