Вызов функции-члена all() в массиве после обновления с Laravel 5.2 до 5.3

Обновите Laravel 5.3 с 5.2 и после получения ошибки нажмите здесь

FatalErrorException в строке Builder.php 638: вызов функции-члена all() в массиве

Я использовал инструмент Laravel shift для обновления фреймворка, и после успешного обновления композитора я столкнулся с этой проблемой.

Код

public function index()
{
    $static_block_array = [];
    $static_block       = StaticBlock::whereIn('identifier', [
        'DESKTOP_STORE_FRONT_ROW_1_BLOCK',
        'DESKTOP_STORE_FRONT_ROW_2_BLOCK',
        'DESKTOP_BOTTOM_BLOCK','SOCIAL_MEDIA_ICON_BLOCK','TOP_ROW_HOMEPAGE_BLOCK'])
        ->remember(cacheTimeOut(CATALOG_CACHE_TIMEOUT))
        ->with("staticBlockContent")
        ->cacheTags(TAG_CATALOG)
        ->whereStatus(1)
        ->get();

    foreach ($static_block as $value) {
        $static_block_array[$value->identifier] = isset($value->staticBlockContent[0]) ? $value->staticBlockContent[0]->content : "";
    }

    return View::make('home/index')
            ->with('desktop_store_front_first_row', array_get($static_block_array, 'DESKTOP_STORE_FRONT_ROW_1_BLOCK', ''))
            ->with('desktop_store_front_second_row', array_get($static_block_array, 'DESKTOP_STORE_FRONT_ROW_2_BLOCK', ''))
            ->with('desktop_top_row_content', array_get($static_block_array, 'TOP_ROW_HOMEPAGE_BLOCK', ''))
            ->with('desktop_bottom_block', array_get($static_block_array, 'DESKTOP_BOTTOM_BLOCK', ''));
}

1 ответ

Решение

Вопрос решен сейчас. мы создали собственную логику для кеширования запроса в методе запомнить, мы возвращаем простой массив, но после преобразования в объект коллекции проблема решена.

 return collect($cache->remember($key, $minutes, $callback));
Другие вопросы по тегам