Anonymous
leftJoin('fromAlias', 'toTable', 'aliasOfToTable', 'тут условие связи')
Спасибо. Разобрался, все-таки докрина сама прописывает условие, я просто ошибся в том, что первым параметром передавал класс сущности, а надо было передавать название поля 🤦‍♂
Ilya 🃏
Парни, почему может не обновляться сущность до конца запроса? Например я создал Занятие, после добавил к нему несколько ФайлЗанятия (ManyToOne) , делаю persist\flush, все как учили. Но если вывести в ответ Занятие, то в нем не будет элементов ФайлЗанятие (получаю через ->getФайлЗанятие). При этом в базу всё попадает корректно. При этом если в этом же самом методе я попробую добавить ФайлЗанятия к Занятие, которое было создано до запроса, то все работает нормально и все ФайлЗанятие внутри Занятие отображаются корректно
Ilya 🃏
В конструкторе к Занятие указано, что поле ФайлЗанятие's - это коллекция
Vadim
Код покажи.
Ilya 🃏
Занятие.пхп ФайлЗанятие.пхп
Ilya 🃏
Ilya 🃏
Vadim
Как добавляешь?
Ilya 🃏
Ilya 🃏
1 - создается 2 - добавляются ФайлЗанятие.пхп
Ilya 🃏
ща покажу внутренности второго блока
Vadim
Ты хочешь персистить файлы через задание?
Ilya 🃏
Ilya 🃏
Ты хочешь персистить файлы через задание?
Ну это не совсем файлы, я их так назвал здесь для простоты понимания
Vadim
Ты добавляешь после флаша.
Ilya 🃏
$homeworkUser->getAnswers()->add($answer); это костыль, если что
Ilya 🃏
с ним работает
Ilya 🃏
без него нет
Vadim
Этот финт работает ровно один запрос, пока жива переменная.
Ilya 🃏
Ну да
Ilya 🃏
Так прикол в том, что во втором запросе уже и без этого финта работает
Ilya 🃏
Если обращение идет к тому же самому UserHomework
Ilya 🃏
Если он существует до запроса - то без финта работает
Ilya 🃏
А если он был создан во время запроса - то без финта не работает
Ilya 🃏
точнее HomeworkUser
Vadim
Если обращение идет к тому же самому UserHomework
Сделай dump($homeWorkUser). У тебя в коллекции будет стоять isInitialized=false.
Ilya 🃏
сейчас проверю
Ilya 🃏
Ilya 🃏
это внутри $homeworkUser на момент возврата
Ilya 🃏
из метода createAnswer
Ilya 🃏
Притом элементов там 0
Ilya 🃏
если я правильно понял
Vadim
Почему тут только remove в каскаде?
Ilya 🃏
🤷‍♂️
Ilya 🃏
а что еще должно быть?
Vadim
Ну ты хочешь персистить answers через homeworkUser, так? Ну так и добавь cascade={"persist", "remove"}
Vadim
И персистить answer не придется, за это будет отвечать рутовый агрегат, то есть homeworkUser.
Ilya 🃏
не помогло =(
Ilya 🃏
все-равно пустая коллекция
Ilya 🃏
А эт норм, что ответ есть только у ансвера, а хомворк не возвращает ничего?
Vadim
А эт норм, что ответ есть только у ансвера, а хомворк не возвращает ничего?
Ты опять персистишь вопросы отдельно. $homeworkUser->addAnswer($answer); $this->flusher->persist($homeworkUser); $this->flusher->flush().
Ilya 🃏
Сделал, а то что они у меня создаются здесь и привязываются вот так:
Ilya 🃏
на что-то влияет?
Vadim
Нет.
Ilya 🃏
в ответе опять без Answer
Vadim
Все еще не вижу addAnswer($answer). https://www.doctrine-project.org/projects/doctrine-orm/en/2.6/reference/working-with-associations.html#establishing-associations
Ilya 🃏
у меня нет такого метода)
Ilya 🃏
мне его сгенерить над или как?
Ilya 🃏
Или ты про это: $homeworkUser->getAnswers()->add($answer);
Ilya 🃏
аа
Ilya 🃏
Это легально?)
Ilya 🃏
Не костыль?)
Ilya 🃏
Спасибо тебе)
Рустам
всем добрый день. изучаю симфони, развернул проект: composer create-project symfony/website-skeleton www 4.4.99 участок кода, на который указывает стрелка должен возвращать 404 но у меня всегда 500 ошибка. гуглил, ответа не нашел, отчаяние наступает. может кто сталкивался с проблемой, как решали?
Рустам
у человека в видео 404
Рустам
у меня
Рустам
я понимаю твой сарказм, гуглил все возможные варианты
std::mechanicus
коллеги, чуть меньше токсичности, пожалуйста
Рустам
а где эта грань, что этот вопрос даунский - а на этот можно нормально ответить?
Рустам
В видео 4.0.8, у меня 4.4.9. Специально поставил 4.4, а не 5, чтобы если что можно было загуглить. php 7.3
Рустам
Рустам
99, ошибся
Maks
если новичек, ставь как в туториале
Maks
читай ченжлог, обновляйся
Рустам
5.1
Рустам
5.1
это я хуйню написал
Рустам
Рустам
4.4
Рустам
или не этот ключ?
Рустам
наверное напрягать больше никого не буду, возможно у меня какое-то узкое место, буду разбираться
Рустам
да
Рустам
https://pastebin.com/fWqUPzX8
std::mechanicus
чат ларавеля это действительно плохо, но человек сам сказал, что гуглил и не нашёл
Alexander
Привет! https://stackoverflow.com/questions/50199102/setmaxresults-does-not-works-fine-when-doctrine-query-has-join Предлагается использовать пагинатор, по аналогам других примеров набросал такое http://prntscr.com/q74m2z Итог, limit = 2, отображаем 3, ну и по схеме +1 всегда. В симфе 4.2.11 это как то излечить?
Рустам
после всяческих процедур поиска, психанул, решил уже пакеты обновить, и все заработало. Видимо умудрился попасть и стянуть баганную версию пакета. От этого и Гугл пустой был