ElisDN / yii2-demo-shop

Source code for Yii2 workshop
https://elisdn.ru/yii2-shop
Other
154 stars 113 forks source link

Type Exception #31

Closed Andrewkha closed 6 years ago

Andrewkha commented 6 years ago

https://github.com/ElisDN/yii2-demo-shop/blob/434c6a977445b3eb03e0404698998a1ef37117fa/shop/services/search/ProductIndexer.php#L50

Getting: Exception 'TypeError' with message 'Argument 1 passed to console\controllers\SearchController::console\controllers{closure}() must be an instance of shop\entities\Shop\Category, instance of shop\entities\Shop\Product\CategoryAssignment given' for some reason... The code is exactly like in repo and in the Video, but...

the-toxic commented 6 years ago

Поддерживаю, тоже вчера столкнулся. Временно закомментировал этот кусок чтоб не ругалось Очень странно, долго пытался понять как Category может быть объектом класса CategoryAssignment, т.к. мы явно указываем ему обратное array_reduce(array_map(function (Category $category) { return ArrayHelper::getColumn($category->parents, 'id'); }, $product->categoryAssignments),'array_merge', [])

voidlz commented 6 years ago

Вместо $product->categoryAssignments должно быть $product->categories которая по связи hasMany через categoryAssignments и получает нужные нам данные.

Andrewkha commented 6 years ago

Попробую, во всяком случае, выглядит логично. Хотя при просмотре записи урока явно видно, что Дмитрий запускает код в консоли именно в таком виде

ElisDN commented 6 years ago

Fixed. Thanks!