我确实在我的控制器中设置了这个,它具有三个功能,即
func1
,func2
,最后
func3
。
我当前面临的当前错误抛出此错误消息:
Internal Server Error
Too few arguments to function
0 passed and exactly 1 expected
我不知道我是否错误地传递了变量。不过,我将提供我当前正在处理的代码片段。
现在,考虑到
func1
是条件语句所在的位置,所以它是这样的;
public function func1()
{
$counter = UserSizes::where('user_uid', 'johnd01')->count();
if ($counter > 0) {
//display the selected sizes by the user
$this->func2($counter);
} else {
//since it is zero the user did not have selected any sizes.
$this->func3($counter);
}
}
如您所见,如果计数器大于 0,它将落入 func2,并且我希望将计数器数据传递给 func2,就像我希望我的 func2 也访问该数据一样。 所以按照我的 func2。
public function func2($counter)
{
$getSizes= UserSizes::where('user_uid', 'johnd01')->get();
return view('auth.user_pref', [
'getSizes' => $getSizes,
'counter' => $counter,
]);
}
我想要实现的主要目标是,在主函数中,我想将其过滤到没有尺寸和已选择尺寸的用户, 并在刀片文件中。
所以刀片文件中的内容如下:
@if ($counter <0)
// display the selection of sizes
@else
// display the selected sizes of the user.
@endif
我将仅使用 if 语句来更改已选择尺寸的用户的 UI,其中我将显示他们选择的尺寸,否则向未选择尺寸的用户显示选择,以便他们选择所需的尺寸。
我感谢任何帮助或想法!
在刀片模板中,调整条件以正确检查计数器值:
@if ($counter > 0)
<!-- Display the selected sizes of the user -->
<h1>Selected Sizes</h1>
<ul>
@foreach ($getSizes as $size)
<li>{{ $size->size }}</li>
@endforeach
</ul>
@else
<!-- Display the selection for the user to choose sizes -->
<h1>Select Your Sizes</h1>
<form method="POST" action="{{ route('saveUserSizes') }}">
@csrf
<!-- Example of input fields for sizes -->
<label for="size1">Size 1</label>
<input type="text" id="size1" name="sizes[]">
<label for="size2">Size 2</label>
<input type="text" id="size2" name="sizes[]">
<button type="submit">Save Sizes</button>
</form>
@endif