Я хочу знать, имеет ли какое-либо значение столбца fileType значение $ fileType. Я хочу выдать сообщение об ошибке, если нет хотя бы одной такой строки. Я получаю неправильный, но большой вывод для dd ($ data); ...

0
user16124793 8 Июл 2021 в 11:24

4 ответа

Лучший ответ

Вы используете сначала или уже есть

$data=Filesizes::where('FileType',$fileType)->exists();

    if($data){
      Uploads::create($dataToInsert);
   }
   else{
      return response()->json(['status'=>'Failed']);
   }
1
John Lobo 8 Июл 2021 в 08:26

Вы можете использовать результат, который у вас уже есть, вам не нужно делать второй отдельный запрос, чтобы получить maxFileSize

$maxFileSize = Filesizes::where('FileType',$fileType)->value('MaxFileSize');

if($maxFileSize !== null){
    Uploads::create($dataToInsert);
} else {
    return response()->json(['status'=>'Failed'], 422);
}
0
N69S 8 Июл 2021 в 08:29

Используйте first() из count(), чтобы проверить, существует ли запись:

$data=Filesizes::where('FileType',$fileType)->first();

if($data){
  Uploads::create($dataToInsert);
}
else{
  return response()->json(['status'=>'Failed']);
}

Автор: count()

$data=Filesizes::where('FileType',$fileType)->count();

if($data > 0){
  Uploads::create($dataToInsert);
}
else{
  return response()->json(['status'=>'Failed']);
}
0
Yasin Patel 8 Июл 2021 в 08:28

Вам нужно добавить ->get(), ->first() или ->exists() для фактического получения результатов, на данный момент $data является объектом Query Builder, а не набором Filesizes .

Я бы рекомендовал также использовать Filesizes в единственном числе, то есть Filesize, поскольку это обычно является соглашением для названий моделей, то же самое для Uploads.

$data = Filesizes::where('FileType', $fileType)->get();

if ($data->count() > 0) {
    Uploads::create($dataToInsert);
} else {
    return response()->json(['status'=>'Failed']);
}
0
martincarlin87 8 Июл 2021 в 08:27