@yii2ru

Страница 227 из 1721
Evgeny
14.06.2017
21:32:49
d() это хелпер... VarDumper можно считать

☕ CunningFox
14.06.2017
21:32:55
окей

у тебя на выходе ничего

новый объект TripServiceComments

Google
☕ CunningFox
14.06.2017
21:33:26
пустой

Evgeny
14.06.2017
21:33:45
да но к нужной вьюхе (а он добирается ко вьюхе через вьюху через вьюху) он обрастает данными

☕ CunningFox
14.06.2017
21:33:46
вновь созданный.. и т.д.

тогда смотри что и как вызывается из вью. Это не оч правильный подход, но всякое бывало

т.к. в конце во вью у тебя в $condig['comments'] массив с объектами комментов?

вместо пустого объекта*

Evgeny
14.06.2017
21:36:02
да

Varyen
14.06.2017
21:36:04
во вьюхе то ты как этот список комментов получаешь?

☕ CunningFox
14.06.2017
21:36:32
Ну вот, смотри из вью через вью что происходит где используется объект

Где-то должна быть замена

Окей, что такое tripS*

Evgeny
14.06.2017
21:37:27
хех, вот ищу

☕ CunningFox
14.06.2017
21:37:53
И есть ли метод getTripSer* в этом объекте

Google
Varyen
14.06.2017
21:38:05
смотри класс переменной service и смотри rules()

наверняка тупо релейшн

☕ CunningFox
14.06.2017
21:38:24
смотри класс переменной service и смотри rules()
Рулс то зачем? Валидация не вызывается

Не, скорее поведение

Varyen
14.06.2017
21:38:32
тфу, релейшнс

☕ CunningFox
14.06.2017
21:38:41
Там поведение привязано

Идея кстати

Evgeny
14.06.2017
21:39:36
в одной из вьюх выделяю в отдельную переменную: $service = $config['service']; а потом уже $service->tripServiceComments as $comment

☕ CunningFox
14.06.2017
21:39:43
если $service это TripServiceComments, то посмотри TripServiceComments

Varyen
14.06.2017
21:39:47
я в таких случаях сразу по всему проекту просто ищу строку, в данном случае tripServiceComments

с маленькой буквы

обычно сразу видно откуда ножки растут, если понимаешь структуру фреймворка

☕ CunningFox
14.06.2017
21:40:26
либо в нем есть метод getTripServiceComments() либо в самом TripServiceComments

с маленькой буквы
надо геттер искать, если все верно описано

Varyen
14.06.2017
21:40:52
ну или геттер кстати, да

☕ CunningFox
14.06.2017
21:41:04
через магию он будет getTripServiceComments()

Varyen
14.06.2017
21:41:15
если сервис еще одна моделька, то может быть в релейшнах

вариантов то не так много

☕ CunningFox
14.06.2017
21:41:35
вангуем)

Varyen
14.06.2017
21:41:57
так это самое интересное, без доступа к коду гадать на отдельных скринах

Google
Varyen
14.06.2017
21:42:01
или вообще без них)

☕ CunningFox
14.06.2017
21:42:05
в целом да, все зависит от разраба. Я видел и в __get() изврат, не смотря на то что Object() дает все что нужно

без них через init() в поведении) а там уже публичным проперти

Evgeny
14.06.2017
21:45:21
у меня выхода нет) искать буду

☕ CunningFox
14.06.2017
21:45:35
ну что там в поведении?

Evgeny
14.06.2017
21:46:17


☕ CunningFox
14.06.2017
21:48:30
метод есть getTripSerivceComments()?

и еще, дамп сделай $service перед $service->tripServiceComments as $comment

чтобы он точно был таким же пустым

Purify поведение по названию должно другим заниматься, так что скорее всего в модели ниже надо смотреть

Evgeny
14.06.2017
21:50:10
getTripSerivceComments - нет такого

Evgeny
14.06.2017
21:50:14
во всем проекте

☕ CunningFox
14.06.2017
21:51:02
окей, тогда дамп $service перед $service->tripServiceComments as $comment

Evgeny
14.06.2017
21:51:27
первое место где во вьюхах появляется метод - он появляется уже развернутый



потом снова сворачивается



но я нашел расхождение

прокидываю одни данные, а использую другие!

Google
Evgeny
14.06.2017
21:53:25


Evgeny
14.06.2017
21:54:36
если вот так поставить и задампить

☕ CunningFox
14.06.2017
21:54:37
ты $service дамп хотел сделать)

то?

Evgeny
14.06.2017
21:54:51


то резалт



Admin
ERROR: S client not available

☕ CunningFox
14.06.2017
21:55:41
у тебя тут $comments в дампе

Evgeny
14.06.2017
21:55:58
да

а следующиий скрин дампа $service->tripServiceComments

☕ CunningFox
14.06.2017
21:56:31
да
сделай дамп $service

о $comments речь небыло вроде

ты же в $service выделяешь

в одной из вьюх выделяю в отдельную переменную: $service = $config['service']; а потом уже $service->tripServiceComments as $comment

Evgeny
14.06.2017
21:57:27
$service - безумный огромный дамп

☕ CunningFox
14.06.2017
21:57:47
get_class($service) что выводит?

Evgeny
14.06.2017
21:58:19
'app\\modules\\trains\\models\\TrainTrip'

☕ CunningFox
14.06.2017
21:58:29
Бинго

Google
☕ CunningFox
14.06.2017
21:58:48
в TrainTrip что? в коде ищи tripServiceComments или TripServiceComments

Evgeny
14.06.2017
22:01:17
tripServiceComments - отдельный от TrainTrip класс

просто для TrainTrip могут выводиться комменты согласно tripServiceComments

☕ CunningFox
14.06.2017
22:03:06
у тебя $service объект класса TrainTrip, ты обращаешься к свойству tripServiceComments которое возвращает тебе список комментов

либо магией оно это делает, либо в TrainTrip где-то на уровне инициализации они прогружаются

ну или еще несколько вариантов как это может работать)

Evgeny
14.06.2017
22:03:56
да там есть модуль один

☕ CunningFox
14.06.2017
22:03:59
через поведение/трейты и т.д.

тебе нужно от него смотреть как инициализируется tripServiceComments и там искать ActiveQuery для добавления with()

Evgeny
14.06.2017
22:04:33
собственно в самом начале истории загружается один из



а не, я соврал



есть getTripServiceC...

☕ CunningFox
14.06.2017
22:07:20
отлично

Evgeny
14.06.2017
22:07:40
сюда еще связь добавить получается

☕ CunningFox
14.06.2017
22:07:55
в принципе да, можешь сюда связь добавить

после ->hasMany()->with()

Evgeny
14.06.2017
22:10:11
воу воу, магия рассеивается

☕ CunningFox
14.06.2017
22:10:34
в крайнем случае, если могут выгружаться комменты для других целей (и with() может создать проблемы) ты можешь добавить второй метод

public function getTripServiceCommentsWithUser() { return $this->getTripServiceComments()->with('user'); }

Страница 227 из 1721