0

i have a problem in my code API laravel 8 in update data, i think my code it's correct, i don't know where the error, is it i'm wrong in my code or am i wrong when i updating data this is the code the controller

 public function update(Request $request, $id)
    {
        $cek_pelanggan = DaftarPelanggan::firstWhere('id', $id);
        if ($cek_pelanggan) {
            $data_pelanggan = DaftarPelanggan::find($id);
            $data_pelanggan->nama_pelanggan = $request->nama_pelanggan;
            $data_pelanggan->alamat = $request->alamat;
            $data_pelanggan->no_telp = $request->no_telp;
            $data_pelanggan->diskon_id = $request->diskon_id;
            $data_pelanggan->save();
            return response([
                'status' => 'OK',
                'message' => 'Data Pelanggan Berhasil Diubah',
                'data' => $data_pelanggan
            ], 200);
        } else {
            return response([
                'status' => 'Not Found',
                'message' => 'Data Tidak Ditemukan',
            ], 404);
        }
    }

this is the model

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Laravel\Sanctum\HasApitokens;

class DaftarPelanggan extends Model
{
    use HasFactory, HasApitokens;
    
    protected $table = "daftar_pelanggans";
    protected $primaryKey='id';
    protected $fillable = ['nama_pelanggan','alamat','no_telp','diskon_id'];

    public function diskon(){
    return $this->belongsTo(Diskon::class,'diskon_id')->withDefault([
        'nama_member' => 'Guest',
    ]);
   }

}

this is the routes

Route::group(['middleware' => ['auth:sanctum']], function () {
    Route::get('auth/me', 'App\Http\Controllers\Auth\AuthController@me');
    Route::post('auth/logout', 'App\Http\Controllers\Auth\AuthController@logout');
    Route::get('/daftar_pelanggan', 'App\Http\Controllers\API\DaftarPelangganController@index');
    Route::post('/daftar_pelanggan/create', 'App\Http\Controllers\API\DaftarPelangganController@create');
    Route::put('/daftar_pelanggan/update/{id}', 'App\Http\Controllers\API\DaftarPelangganController@update');
    Route::delete('/daftar_pelanggan/delete/{id}', 'App\Http\Controllers\API\DaftarPelangganController@delete');
});

this is the postman when i updating data update data

Marc Jamal
  • 47
  • 1
  • 2
  • 12

2 Answers2

4

Please change from form-data to x-www-form-urlencoded.

Canopus
  • 565
  • 3
  • 17
-1

hi friend issue is the $request->nama_pelanggan getting null. please try to get is as following

$data_pelanggan->nama_pelanggan = $request->get('nama_pelanggan'); //other columns as like this

Thank you, Have a nice day

Abdul Hakeem
  • 405
  • 4
  • 11
  • Please see [this url](https://laravel.com/docs/8.x/requests#retrieving-input-via-dynamic-properties). – Canopus Jan 09 '21 at 09:46
  • @SuperStar and please take look this too https://laraveldaily.com/differences-request-get-vs-request-input-vs-helper-vs-get_data/ – Abdul Hakeem Jan 09 '21 at 16:03