为了账号安全,请及时绑定邮箱和手机立即绑定

我的控制器中有两个函数,但在运行管理/面板时显示错误 Undefined variable:

我的控制器中有两个函数,但在运行管理/面板时显示错误 Undefined variable:

PHP
斯蒂芬大帝 2022-12-23 13:24:36
我有这个错误: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 回答

?
智慧大石

TA贡献1946条经验 获得超3个赞

您的代码执行以下操作:


$month=12;

// ...

$labels = $this->getLastMonths($month);

接着:


private function getLastMonths($month)

{

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

    // ...

这个循环永远不会工作 -$month是 12,$i是 0,0 永远不会大于 12。不会有迭代,$labels永远不会设置,并且getLastMonths()什么都不返回。


你需要:


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

或者也许(根据您的要求,我不确定您到底在做什么):


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


查看完整回答
反对 回复 2022-12-23
?
皈依舞

TA贡献1851条经验 获得超3个赞

我认为您没有在 getLastMonths($month) 函数中初始化 $labels 。使用以下代码。


private function getLastMonths( $month)

    {

        $labels = [];

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

        {

            $labels[]=jdate(Carbon::now()->subMonths($i))->format('%B');

        }

        return $labels;

    }


查看完整回答
反对 回复 2022-12-23
  • 2 回答
  • 0 关注
  • 128 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号