我正在尝试将数据从我的控制器传递到我的视图,但是我收到了一个未定义的变量错误。 usersID是我MySQL表中的一列。
这是我控制器中的代码
$arrayWithCount = DB :: table("users_has_activities")
-> where("usersID", "=", 19)
-> pluck("usersID");
$countNumber = sizeof($arrayWithCount);
return view('pages.progress', ['countNumber' => $countNumber]);
我还尝试了以下return语句,但没有成功
return view::make('pages.progress') -> with('countNumber', $countNumber);
我也试过扭转冰球和哪些条款没有任何成功,我没有寄予厚望,反转他们会解决问题,但我想我会尝试任何方式。以下是刀片文件中的相关代码。
<?php echo $countNumber; ?>
这是我目前的错误
Undefined variable: countNumber
答案 0 :(得分:1)
你的代码看起来很好,如果dd()
没有停止执行控制器,那么另一个控制器正在执行。所以仔细检查你的路线和控制器。
答案 1 :(得分:0)
首先sizeof
应为sizeOf
,并且只是count()
的别名。大多数人都希望count
超过sizeOf
,因为sizeOf(在许多语言中)会指示与磁盘大小相关的内容。
Anywho,即pluck返回一个集合,你可以直接从集合中访问count()
。
您可以简单地执行以下操作:
$countNumber = $arrayWithCount->count();
旁注:除非您在刀片服务器中使用<?php ?>
有特殊原因,否则最好使用{{
和}}
。
答案 2 :(得分:0)
我在一个我没有调用的方法中拥有所有控制器代码,因此该变量从未传递给刀片文件。该方法设置为在按下按钮后调用,确定一切正常。感谢Alexey的帮助。