Как я могу проверить пустой массив внутри переменной запроса в laravel?

Код:

public function specificationsave(Request $request) {   
    if (!empty($request->product_id)) {
        if (empty($request->specificationkeys) && empty($request->specificationvalues)) {
            return response()->json(["message" => 'Empty form submitted'], 202);
        } else {
            // something code 
        }
    } else {
        return response()->json(["message" => 'something went wrong with product'], 403);
    }
}

Код формы:

<input type = "text" name = "specificationkeys[]"/>
<input type = "text" name = "specificationvalues[]"/>

Проблема:

Когда я помещаю пустое условие в свой массив specificationkeys, оно не работает, потому что мой ключ имеет пустой массив, поэтому я могу проверить, есть ли у ключа массив или нет, или поскольку я хочу пустую проверку без валидатора, потому что поля не являются обязательными.

покажите нам dd($request->specificationkeys) и dd($request->specificationvalues)

Sohel0415 24.10.2018 08:08
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
1
319
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

например, product_id возвращается как условие проверки array, подобное этому

if ($request->product_id && is_array($request->product_id) && count($request->product_id) > 0) {
     //success validation
}else {
    //failed validation 
}

Попробуй это:

public function specificationsave(Request $request) {   
    if (isset($request->product_id) && !empty($request->product_id)) {
        if (is_array($request->specificationkeys) && 
            count($request->specificationkeys) !== 0 && 
            is_array($request->specificationvalues) && 
            count($request->specificationvalues) !== 0) {
            return response()->json(["message" => 'Empty form submitted'], 202);
        } else {
            // something code 
        }
    } else {
        return response()->json(["message" => 'something went wrong with product'], 403);
    }
}

что, если массив файлов передается для запроса, как я могу проверить изображения в этом

Jagdish Sharma 25.10.2018 14:49
Здесь - пример того, как проверить массив с изображениями из запроса @JagdishSharma
Andreas Hunter 26.10.2018 07:03

используйте для этого простую функцию подсчета.

 if (count($request->specificationkeys) == 0 && count($request->specificationvalues) == 0){
     //your logic for empty
  }else{
    //Your logic for not empty  
 } 

Другие вопросы по теме