Как я могу проверить наличие пустого массива внутри переменной запроса в Laravel? - PullRequest
0 голосов
/ 24 октября 2018

Код:

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, оно не работает, потому что у моего ключа есть пустой массив, так что я могу проверить, есть ли у ключа массив или нет, или как я хочу пустую проверку без валидатора, потому что поля не являютсяобязательный.

Ответы [ 3 ]

0 голосов
/ 24 октября 2018

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

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);
    }
}
0 голосов
/ 24 октября 2018

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

 if (count($request->specificationkeys) == 0 && count($request->specificationvalues) == 0){
     //your logic for empty
  }else{
    //Your logic for not empty  
 } 
0 голосов
/ 24 октября 2018

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

if($request->product_id && is_array($request->product_id) && count($request->product_id) > 0) {
     //success validation
}else {
    //failed validation 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...