У меня есть две функции в моем контроллере, но при запуске admin / panel show error Неопределенная переменная: метки - PullRequest
0 голосов
/ 15 апреля 2020

У меня есть эта ошибка:

ErrorException Неопределенная переменная: метки

Что я должен сделать, чтобы вернуть $labels в getLastMonths() метод?

панель управления

public function index()
   {
        $month=12;

        $peymentSuccess=Payment::SpanningPayment($month,true);

        $peymentunSuccess=Payment::SpanningPayment($month,false);

        $labels = $this->getLastMonths($month);// mahe shamsi bar migardoune nasbe jalali morilog

        $values['success']=$peymentSuccess->pluck('published');
        $values['unsuccess']=$peymentunSuccess->pluck('published');

        return view('admin.panel', compact('labels','values'));
   }

private function getLastMonths( $month)
    {
        for ($i=0 ; $i>$month ; $i++)
        {
            $labels[]=jdate(Carbon::now()->subMonths($i))->format('%B');
        }
        return $labels;
    }

Ответы [ 2 ]

1 голос
/ 15 апреля 2020

Ваш код делает:

$month=12;
// ...
$labels = $this->getLastMonths($month);

А затем:

private function getLastMonths($month)
{
    for ($i=0 ; $i>$month ; $i++)
    // ...

Этот l oop никогда не будет работать - $month равно 12, $i равно 0, 0 никогда не превышает 12. Не будет итераций, $labels никогда не устанавливается и getLastMonths() ничего не возвращает.

Вместо этого вам нужно:

for ($i=0 ; $i < $month ; $i++)

Или, может (в зависимости от ваши требования, я не уверен, что именно вы делаете):

for ($i=0 ; $i <= $month ; $i++)
0 голосов
/ 15 апреля 2020

Я думаю, что вы не инициализированы $ метки в функции getLastMonths ($ month). используйте следующий код.

private function getLastMonths( $month)
    {
        $labels = [];
        for ($i=0 ; $i<$month ; $i++)
        {
            $labels[]=jdate(Carbon::now()->subMonths($i))->format('%B');
        }
        return $labels;
    }
...