Юра
Да в идеале 64
Корочка
Всем привет. Может кто сталкивался. Использую API Platform и Symfony, при попытки сохранить данные возникает вот такая проблема. Погуглил, почитал почему это. Причина ясна. Может кто знает как отключить такую проверку? Поле может быть NULL, но все равно просит id этой записи чтобы найти ее в БД
Павел
Корочка
Он говорит, что не может найти объект по указанному полю
Корочка
Точнее я должен передать обязательно это поле чтобы он нашел нужный объект
Корочка
Вот в таком формате он просит ссылку на объект, и потом он находит этот объект, но зачем он ищет этот объект если поле может быть null
Корочка
В конце null написано для теста работы
Корочка
А так надо туда id передать верный, только мне вот это не нужно как раз делать и мне надо отключить эту проверку
Павел
Корочка
Он просит такую ссылку тогда
Павел
Корочка
Он говорит не могу найти ссылку на такой то объект. Дайте мне эту ссылку
Корочка
Корочка
Павел
Проверьте еще контексты нормализации и денормализации у самого ресурса, может они вообще не срабатывают
Павел
Ну и запрос пришлите, может кто подскажет, так более понятен кейс будет
Павел
Еще проверьте, является ли это ошибка именно при сохранении, может у вас сохраняется ок, а вот чтение уже касячит
Корочка
Да, спасибо посмотрю конечно
Павел
Хотя iri в чтении наверное не имеет смысла)
Павел
В общем наверняка проблема в правильном описании анотаций или в запросе, без них тяжеловато будет гадать. Платформа сильно чувствительна к тому, что сущностях. Кейс выглядит дефолтным, nullable связь, там не должно быть проблем
Юра
JoinColumn можешь убрать там по дефолту все так как у тебя
Корочка
Спасибо уберу
Корочка
Если кому будет нужно проблему решил. Оказывается, в связанную таблицу надо было дописать в группы "getCostBlanks:write", разрешение на запись ID, так как в таком случаи он разрешает пройти записи с null
Павел
Павел
Поэтому и просил приложить запрос и сущности.
Корочка
Корочка
И вот в этом объекте надо было для такой же группы, разрешить запись
Павел
Корочка
Они срабатывали
Павел
Например, почему account:write помог? Откуда вообще он взялся?
Павел
Значит вы работаете в account:write
Корочка
Вот тут есть связь с таблицей Account
Павел
Корочка
И здесь группы на разрешение записи данными
Корочка
Это связано вообще с тем, чтобы можно было удалять данные, а для удаления он просто именно группу с типом write
Корочка
Добавил группу getCostBlanks:write к сущность Account, связь с которой я указал выше и все заработало
Корочка
Корочка
Юра
Не люблю апи платформ за то что ошибки которые с ним возникают вообще непонятно как решать кроме дебага
Юра
Думал может они это улучшили, но судя по всему нет
Павел
Юра
Павел
Например на вашем скрине с SO вообще похоже забыли нормально связь поставить
Юра
Типо возможно вы не указали то-то
Павел
Павел
Юра
Она скорее путает
Павел
Как такое вообще дебажить даже пытаясь ответить в чате?
Павел
Что это вообще такое было iri +null ?
Павел
даже для дебага
Корочка
Павел
Корочка
Если вы не внимательно читаете
Павел
iri +null ни в каком флоу не может быть верным
Корочка
Это просто запись одна из немногих для теста работы, посмотреть поведение, о чем выше и написал
Павел
потому что null - это строка
Павел
и если надо установить null, то передается не property = /iri/null а property=null
Павел
ну по крайней мере так работает с json
Корочка
Еще раз выше было написано что это для тестирование работы сделано для того, чтобы посмотреть разное поведение
Корочка
Вас немного зациклило
Павел
Корочка
Всех благодарю за помощь
Павел
Чет они вообще беда какая то с докой платформы. Кучу js добавили в описание, убрали старые версии, хотя там есть изменения в минорных версиях. И так было не особо понятно, сейчас вообще мрак :(
Юра
Я вообще не понимаю как можно убирать предыдущие версии из доки
Юра
Это сразу говорит о том что это стремный фреймворк, желания читать доку через вебархив как-то нет
Юра
Либо просто вы не нашли
Kirill
апи платформ в принципе стрёмный)
Kirill
поставить valinor, накидать дто для реквестов и респонзов и в путь
Павел
Либо просто вы не нашли
Возможно, раньше справа был переключатель, теперь там полностью новый диз и такого не вижу и на странице
Павел
апи платформ в принципе стрёмный)
У платформы интересный денормалайзер который работает с доктриной.
В целом переусложненный, но если разобраться неплохой инструмент для лоу кодинга. Valinor надо посмотреть что такое)))