Как исправить «NULL не является действительным DataTable.» - Ларавел Лавачартс - PullRequest
0 голосов
/ 22 апреля 2019

У меня есть данные в массиве, и я пытаюсь отобразить информацию в кольцевой диаграмме Lavacharts. Я столкнулся со стеной, так как не уверен, почему происходит сбой при сбросе переменной ($ countted_heroes) выглядит хорошо, но я не эксперт по массивам.

Я погуглил ошибку, но она привела только к странице проблем github, где она, к сожалению, так и не была решена, я посмотрел в разделе «Аргументы» об ошибке Laravel, чтобы понять, почему она ошибочна. перспектива без пустых значений.

function index()
{
    $heroes = \Lava::DataTable();
    $heroes = DB::table('replays')->leftJoin('heroes', 'heroes.id', '=', 'replays.hero_id')->select(DB::raw('replays.hero_id as hero_id, heroes.hero_name as hero_name'))->get()->toArray();
    foreach($heroes as & $hero) {
        $hero = ['hero' => $hero->hero_name, $hero->hero_id, ];
    }

    $counted_heroes = array_count_values(array_column($heroes, 'hero'));
    \Lava::DonutChart('Heroes', $counted_heroes, ['title' => 'Heroes Played']);
    return view('public.stats', compact('lava'));
}

Ожидаемым результатом этого будет принятие массива Lavachart и отображение данных вместо этой печальной ошибки.

Любая помощь будет наиболее ценится! <3 </p>

Спасибо.

1 Ответ

0 голосов
/ 22 апреля 2019

compact() предполагает, что переменная $compact определена ранее.

Вы не определили его внутри index() метода.

Попробуйте return view('public.stats', compact('heroes'));, ваше представление ожидает не массив, а определенный объект библиотеки, как было упомянуто ourmandave . Обратите внимание, что вы должны заменить lava на heroes по вашему мнению, чем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...