Я использую DBIx :: класс модели следующие:DBIx :: Class Найти или создать объекты
Recipe
со многими Tags
. Tag
совместно с другими объектами Recipe
.
При создании объекта Recipe
я хочу создать набор объектов Tag
и связать их с вновь созданным объектом Recipe
. (Пользователь вводит список тегов, и у меня есть только имя тега, который нужно использовать)
Для тегов я мог перебирать список и находить тот, который соответствует введенному пользователю имени или создает новый объект вручную.
Не удалось найти зарегистрированный метод типа findOrCreate
в DBIx :: Class. Какие-либо предложения ?
Спасибо, видимо, я не могу правильно прочитать документацию. –
Откуда вы узнали, был ли объект «найден» или «создан»? $ obj = $ schema-> resultset ('ObjList') -> find_or_create ({... некоторые условия ...}); – rajeev
Прочтите документацию. Вот что он говорит: если вам нужно знать, была ли найденная строка найденной или новая создана, используйте вместо этого «find_or_new» и «in_storage» в DBIx :: Class :: Row. Не забудьте вызвать «insert» в DBIx :: Class :: Row, чтобы сохранить только что созданную строку в базе данных! – bolav