У меня есть эта настройка в моем контроллере, который имеет три функции, а именно: 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, чтобы изменить пользовательский интерфейс для пользователей, которые выбрали размер, где я буду отображать выбранные ими размеры, а в противном случае для пользователей, у которых не были выбраны размеры, чтобы отобразить выбор, чтобы они могли выбрать желаемые размеры.
Я ценю любую помощь или идеи!






В шаблоне блейда настройте условие, чтобы правильно проверять значение счетчика:
@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
Это действительно работает, и вам также спасибо за то, что вы указали путь к saveusersize.