Evgeny
тут немножко хитрее, поэтому сижу втыкаю.
Мне даже не пост надо найти, а коммент к посту.
так что вернее сказать что $comment = new Comments();
Система написана не мной и достаточно объемная.
Создавая таким образом
$comment = new Comments();
до вьюхи доходят данные уже с отобранным списком комментов для конкретного поста.
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
код покажи лучше
Evgeny
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
если у тебя во вью отправляется список комментов и тебе надо получить имя автора то нужно использовать в ActiveQuery with() в противном случае на каждый коммент ты получишь по 1 лишнему запросу к бд
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
если будешь обращаться к отношению без with()
Evgeny
фишка в том что я пока не понял как вот эта штука
Evgeny
Evgeny
превращается в список комментариев
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
какая именно?
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
у тебя тут 2 поведения
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
надо смотреть их код
Evgeny
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
а что за метод d()?
Evgeny
Evgeny
на выходе
Evgeny
d() это хелпер... VarDumper можно считать
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
окей
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
у тебя на выходе ничего
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
новый объект TripServiceComments
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
пустой
Evgeny
да но к нужной вьюхе (а он добирается ко вьюхе через вьюху через вьюху) он обрастает данными
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
вновь созданный.. и т.д.
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
тогда смотри что и как вызывается из вью. Это не оч правильный подход, но всякое бывало
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
т.к. в конце во вью у тебя в $condig['comments'] массив с объектами комментов?
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
вместо пустого объекта*
Evgeny
да
Varyen
во вьюхе то ты как этот список комментов получаешь?
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
Ну вот, смотри из вью через вью что происходит где используется объект
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
Где-то должна быть замена
Evgeny
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
Окей, что такое tripS*
Evgeny
хех, вот ищу
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
И есть ли метод getTripSer* в этом объекте
Varyen
смотри класс переменной service и смотри rules()
Varyen
наверняка тупо релейшн
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
Не, скорее поведение
Varyen
тфу, релейшнс
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
Там поведение привязано
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
Идея кстати
Evgeny
в одной из вьюх выделяю в отдельную переменную:
$service = $config['service'];
а потом уже
$service->tripServiceComments as $comment
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
если $service это TripServiceComments, то посмотри TripServiceComments
Varyen
я в таких случаях сразу по всему проекту просто ищу строку, в данном случае tripServiceComments
Varyen
с маленькой буквы
Varyen
обычно сразу видно откуда ножки растут, если понимаешь структуру фреймворка
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
либо в нем есть метод getTripServiceComments() либо в самом TripServiceComments
Varyen
ну или геттер кстати, да
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
через магию он будет getTripServiceComments()
Varyen
если сервис еще одна моделька, то может быть в релейшнах
Varyen
вариантов то не так много
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
вангуем)
Varyen
так это самое интересное, без доступа к коду гадать на отдельных скринах
Varyen
или вообще без них)
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
в целом да, все зависит от разраба. Я видел и в __get() изврат, не смотря на то что Object() дает все что нужно
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
без них через init() в поведении) а там уже публичным проперти
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
Evgeny
у меня выхода нет) искать буду
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
ну что там в поведении?
Evgeny
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
метод есть getTripSerivceComments()?
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
и еще, дамп сделай $service перед $service->tripServiceComments as $comment
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
чтобы он точно был таким же пустым
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
Purify поведение по названию должно другим заниматься, так что скорее всего в модели ниже надо смотреть
Evgeny
getTripSerivceComments - нет такого
Evgeny
во всем проекте
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
окей, тогда дамп $service перед $service->tripServiceComments as $comment
Evgeny
первое место где во вьюхах появляется метод - он появляется уже развернутый
Evgeny
Evgeny
потом снова сворачивается
Evgeny
Evgeny
но я нашел расхождение
Evgeny
прокидываю одни данные, а использую другие!
Evgeny
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
Evgeny
если вот так поставить и задампить
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
ты $service дамп хотел сделать)
☕️ 𝕽𝖔𝖈𝖐𝖊𝖙𝕽𝖆𝖈𝖈𝖔𝖔𝖓
то?
Evgeny
Evgeny
то резалт