#laravel #laravel-7
#laravel #laravel-7
Вопрос:
Я пытаюсь создать форму загрузки, которая проверяет, существует ли код продукта. Проблема, с которой я сталкиваюсь, заключается в том, что даже если он не существует, он все равно оказывается истинным, и это потому, что он повторяется, а false перезаписывается.
Итак, я хочу, чтобы это произошло, когда я нажимаю кнопку отправки, и она попадает в $proceed = false
раздел, который я хочу, чтобы он остановился и вернул представление с сообщением об ошибке
Вот мой код
$categories = Category::all();
$codes = [];
foreach($categories as $category)
{
$codes[$category->code] = [
'code' => $category->code,
'name' => $category->name
];
}
foreach($product['codes'] as $code)
{
if(array_key_exists($code, $codes))
{
$proceed = true;
}else{
$proceed = false;
}
}
if($proceed == true)
{
return view('product-upload', [
'message' => "Upload was a success";
]);
}else{
return view('product-upload', [
'message' => "Upload was a failure";
]);
}
мой product-upload.blade.php
<div class="row justify-content-center">
<div class="col-md-6">
<div class="card">
<div class="card-body">
{{ session()->get('message') }}
</div>
</div>
</div>
</div>
Ответ №1:
Вы можете добавить инструкцию break после $proceed = true, чтобы остановить цикл.
$proceed = false;
foreach($product['codes'] as $code)
{
if(array_key_exists($code, $codes))
{
$proceed = true;
break;
}
}
Комментарии:
1. Это останавливает его, но когда я пытаюсь отобразить представление, я получаю пустую страницу
Ответ №2:
вы можете использовать возврат раньше
foreach($product['codes'] as $code)
{
if(array_key_exists($code, $codes))
{
return view('product-upload', [
'message' => "Upload was a success";
]);
}
}
return view('product-upload', [
'message' => "Upload was a failure";
]);
на мой взгляд, это намного чище
Комментарии:
1. Я просто получаю пустую страницу, и нет никаких ошибок
2.
session()->get('message')
для печати вам нужно получить сообщение об ошибке3. Я все еще получаю пустую страницу. Я добавил свой product-upload.blade.php также ответьте на мой вопрос
4. @Nienna opss извините, что это не в сеансе
{{ $message }}
, это сработает5. Это то, что у меня было изначально, но все еще пустая страница