Обновление запроса laravel возвращает ложный результат и ничего не показывает, почему? - PullRequest
2 голосов
/ 11 октября 2019

Я работаю с проектом laravel, и у меня есть проблема, которая заключается в том, что результат запроса на обновление возвращает ложное значение, если я обновляюсь с теми же данными, как решить эту проблему? Должен ли я сначала проверить перед запуском запроса и отправить уведомление, что данные совпадают? ну это мои коды

public function update(Request $request)
{
    $kamar_id    = $request->input('kamar_id');
    $title       = $request->input('title');
    $content     = $request->input('content');
    $keyword     = $request->input('keyword');
    $description = $request->input('description');
    $prolog      = $request->input('prolog');
    $path        = $request->input('path');
    $sort        = $request->input('sort');
    $status      = $request->input('status');
    $type        = $request->input('type');
    $user_id     = $request->input('user_id');

    if (empty($request->input('path'))) {
        $path = serialize(array('data/def.png'));
    }else{
        $path = serialize(explode(',', $request->input('path')));
    }

    $data = array('title' => $title,
                  'content' => $content,
                  'keyword' => $keyword,
                  'description' => $description,
                  'prolog' => $prolog,
                  'path' => $path,
                  'sort' => $sort,
                  'status' => $status,
                  'type' => $type,
                  'user_id' => $user_id);
    // echo($kamar_id);
    $update = Kamar::where('kamar_id',$kamar_id)->update($data);
    if ($update) {
        $response['status'] = 1;
    }else{
        $response['status'] = 0;
    }

    return response()->json($response);
}

спасибо за помощь мне

Ответы [ 4 ]

0 голосов
/ 11 октября 2019

Метод Laravel Eloquent Update возвращает true , если что-либо обновлено в базе данных по вашему запросу, и возвращает false , если ничего не обновлено в базе данных по вашему запросу. см .: https://laravel.com/docs/5.8/eloquent#updates

0 голосов
/ 11 октября 2019

Попробуйте использовать это

$kamarObj = new Kamar();
$kamarData = $kamarObj->find($kamar_id);

$result = $kamarData->update($data);
0 голосов
/ 11 октября 2019

Вы можете принудительно обновить столбец updated_at (или вы можете создать этот столбец, если у вас его нет). Так что запрос будет всегда обновляться.

0 голосов
/ 11 октября 2019

! NullTry

 $update = Kamar::where('kamar_id','=',$kamar_id)->first();

 if (!null($update)) 
 {
   $update->title = $title;
   $update->content = $content;
   $update->keyword = $keyword;
   $update->description = $description;
   $update->prolog = $prolog;
   $update->path = $path;
   $update->sort = $sort;
   $update->status = $status;
   $update->type = $type;
   $update->user_id = $user_id;
   $update->save();
   $response['status'] = 1;
 }
 else
 {
   $response['status'] = 0;
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...