У меня проблема с доступом к идентификатору модели ActiveRecord в структуре Yii2. когда я сохраняю только что созданную модель, я не могу получить поле id нового объекта.Доступ к идентификатору после сохранения модели ActiveRecord
$house = new House;
$house->save();
$hid = $house->id;
$ hid value is empty string ''.
проблема заключается в том, что я создаю новую модель, чтобы я мог передать новый идентификатор процессу потока, который обрабатывает перемещение файла, в то время как я создаю строки db. начинается поток и после json slicing и заполнения массива, первая вставка не выполняется в выражении sql condition (where).
я исследовал много ответов, и они указывают на несколько недостатков:
- присвоение рк - я не присвоить новое поле Идентификатор модели (БД обрабатывает рк автоинкрементного), я получаю тело $ _POST контент через json (json имеет много полей, которые не предназначены для массового назначения в основной модели, поэтому я имею дело с нарезкой json-данных до вставки $ attibutes).
- pk в правилах модели - у меня нет поля id в массиве правил модели.
- ошибка в классе ActiveRecord - я не хочу взламывать базовые классы фреймворка.
В конце кода я планировал привязать модели к отношениям, но я полагаю, что это произошло из-за этой ошибки, поэтому я также использую значение $ hid для заполнения полей внешнего ключа в связанных моделях.
помощь. Пожалуйста.
Сохраняет ли 'save()' return 'true'? Попробуйте 'print_r ($ house-> errors);' после того, как будет проверена ошибка. – Alex