ElisDN/yii2-demo-shop

Type Exception

Closed this issue · 4 comments

array_reduce(array_map(function (Category $category) {

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...

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

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

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

Fixed. Thanks!