Подсветка \ База данных \ Запрос \ Builder :: ярлыки не существует - PullRequest
0 голосов
/ 28 сентября 2018

Я установил пакет: Laravel Charts Все сделано в соответствии с Документами.но когда я пытаюсь ниже код в контроллере.laravel выдает ошибку:

$chart = new Chart;
$chart->labels(['One', 'Two', 'Three', 'Four']);
$chart->dataset('My dataset', 'line', [1, 2, 3, 4]);
$chart->dataset('My dataset 2', 'line', [4, 3, 2, 1]);

ошибка:

Метод Подсветка \ База данных \ Запрос \ Builder :: метки не существует.

Детали пакета: ссылка для документа. Ссылка пакета

app / Charts / Charts.php код:

namespace App\Charts;

use ConsoleTVs\Charts\Classes\Library\Chart;

class Charts extends Chart
{
    /**
     * Initializes the chart.
     *
     * @return void
     */
    public function __construct()
    {
        parent::__construct();
    }
}

Iполучаю эту ошибку: enter image description here

1 Ответ

0 голосов
/ 28 сентября 2018

Я считаю, что проблема в том, что вы не сгенерировали свой символ, используя команду, упомянутую в документации https://charts.erik.cat/create_charts.html#create-a-chart-class

php artisan make:chart {Name} {Library?}

Кажется, что сгенерированный класс должен расширять класс Chart, как видно в этом заглушке https://github.com/ConsoleTVs/Charts/blob/master/src/Commands/stubs/chart.stub

Если он не расширяет допустимый класс, у него не будет метода labels, и поэтому вы получаете ошибку.

РЕДАКТИРОВАТЬ

Если ваш класс действительно похож на тот, который вы добавили, проблема в том, что имя класса Charts, и вы создаете объект Chart, и это, вероятно, совершенно другой класс, поэтому он не содержит labels метод

EDIT2

Кажется, вы импортируете недопустимое пространство имен.Я имею в виду, что при создании:

php artisan make:chart {Name} {Library?}

вы, вероятно, должны передать в качестве допустимого типа для библиотеки следующие: https://charts.erik.cat/supported_libraries.html#chartjs-2-7-1

Так, например, вместо:

use ConsoleTVs\Charts\Classes\Library\Chart;

Вы должны использовать:

use ConsoleTVs\Charts\Classes\C3\Chart;

или

use ConsoleTVs\Charts\Classes\ChartJs\Chart;

Вы можете увидеть доступные типы в документации, а также здесь: https://github.com/ConsoleTVs/Charts/tree/master/src/Classes

...