Отобразить нулевой ответ изображения, если изображение не отправлено в Laravel - PullRequest
0 голосов
/ 12 февраля 2020

Я отправляю данные через почтальона в Laravel. Мне нужно показать нулевое значение, если данные не вставляются во время отправки (в ответе JSON). Но это не показывало изображение в ответ. Мне нужно также показать ответ изображения. Null

Код моего магазина:

public function store(Request $request)
{
    $screenshots  = new Screenshots ;
    $screenshots->user_id = $request->user_id;
    $screenshots->name = $request->name;
    $screenshots->size = $request->size;

    if($request->hasFile('image')){
        $fileNameExt = $request->file('image')->getClientOriginalName();
        $fileName = pathinfo($fileNameExt, PATHINFO_FILENAME);
        $fileExt = $request->file('image')->getClientOriginalExtension();
        $fileNameToStore = $fileName.'.'.$fileExt;
        $pathToStore = $request->image->storeAs('public/uploads/screenshots', $request->image->getClientOriginalName());
        $screenshots->image = $fileNameToStore;
         $screenshots->save();
    };
    $screenshots->save();

    return $this->sendResponse($screenshots->toArray(), 'Command Send Successfully successfully.');

}

Он дает значение NULL, когда любое поле пусто, но если изображение пустое, я не получил никакого ответа.

Для большей ясности смотрите прикрепленный скриншот

Получение ответа Будьте как

{"success":true,"data":{"user_id":"2","name":null,"size":"3.4kb","updated_at":"2020-02-12 07:26:49","created_at":"2020-02-12 07:26:49","id":32},"message":"Command Send Successfully successfully."}

Ответ, который мне нужен, если изображение также пустое

{"success":true,"data":{"user_id":"2","name":null,"size":"3.4kb","image":"null","updated_at":"2020-02-12 07:26:49","created_at":"2020-02-12 07:26:49","id":32},"message":"Command Send Successfully successfully."}

Ответы [ 2 ]

0 голосов
/ 12 февраля 2020

Пожалуйста, используйте метод ниже, чтобы добавить значение по умолчанию null

// установить в вашей модели Скриншоты

 protected $attributes = array(
        'image' => '',
 );

ИЛИ

if($request->hasFile('image')){
        $fileNameExt = $request->file('image')->getClientOriginalName();
        $fileName = pathinfo($fileNameExt, PATHINFO_FILENAME);
        $fileExt = $request->file('image')->getClientOriginalExtension();
        $fileNameToStore = $fileName.'.'.$fileExt;
        $pathToStore = $request->image->storeAs('public/uploads/screenshots', $request->image->getClientOriginalName());
        $screenshots->image = $fileNameToStore;
         $screenshots->save();
    }else{
         $screenshots->image = '';   
    }
0 голосов
/ 12 февраля 2020

В Снимках экрана. php Модель определяет значение атрибута / свойства по умолчанию, если оно не установлено следующим образом

class Screenshot extends Model {
    protected $attributes = ['image' => null];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...