Tahun baru, skill baru! 🚀. Masukkan kupon "skill2025" untuk diskon 30% di kelas apa saja

Insert data berhasil tapi berisi null

hello gan saya mau nanya nih.. saya coba latihan insert laravel menggunakan laravelcollecive, pada waktu insert, kod di databasenya bernilai null ya ?

ini script form insert saya gan

<div class="form-group">
					{!! Form::label('nisn', 'NISN', ['class' => 'control-label']) !!}
					{!! Form::text('text', '', ['class' => 'form-control']) !!}
				</div>

				<div class="form-group">
					{!! Form::label('nama_siswa', 'Nama Siswa', ['class' => 'control-label']) !!}
					{!! Form::text('nama_siswa', null, ['class' => 'form-control']) !!}
				</div>

				<div class="form-group">
					{!! Form::label('tgl_lahir', 'Tanggal Lahir', ['class' => 'control-label']) !!}
					{!! Form::date('tgl_lahir', !empty($siswa) ? $siswa->tgl_lahir->format('Y-m-d'): null, ['class' => 'form-control', 'id' => 'tgl_lahir']) !!}
				</div>

				<div class="form-group">
					{!! Form::label('jenis_kelamin', 'Jenis Kelamin', ['class' => 'control-label']) !!}
						<div class="radio">
							<label>{!! Form::radio('jenis_kelamin', 'L') !!} Laki-Laki</label>
						</div>
						<div class="radio">
							<label>{!! Form::radio('jenis_kelamin', 'P') !!} Perempuan</label>
						</div>
				</div>

				<div class="form-group">
					{!! Form::submit($submitButtonText, ['class' => 'btn btn-primary form-control']) !!}
				</div>

Ini script controllernya gan :

 <?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Siswa;
use Validator;

class SiswaController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
       $halaman = 'siswa';
       $siswa_list = Siswa::orderBy('nama_siswa','asc')->paginate(10);
       $jumah_siswa = Siswa::count();
       return view ('siswa.index', compact('halaman', 'siswa_list', 'jumah_siswa'));
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //
        $halaman = 'siswa';
        return view('siswa.create', compact('halaman'));
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {

        $input = $request->all();

        $validator = Validator::make ($input, [
            'nisn'  => 'required|string|size:4|unique:siswa,nisn',
            'nama_siswa'   => 'required|string|max:30',
            'tgl_lahir' => 'required|date',
            'jenis_kelamin' => 'required|in:L,P',

        ]);

        if ($validator->fails())
        {
            return redirect('siswa/create')->withInput()->withErrors($validator);
        }
        Siswa::create($input);
        return redirect('siswa');
        //
        // $siswa = new \App\Siswa;
        // $siswa->nisn          = $request->nisn;
        // $siswa->nama_siswa    = $request->nama_siswa;
        // $siswa->tgl_lahir     = $request->tgl_lahir;
        // $siswa->jenis_kelamin = $request->jenis_kelamin;
        // $siswa->save();
        // return redirect('siswa');
        // Siswa::create($request->all());
        // return redirect('siswa');
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        //
        $halaman = 'siswa';
        $siswa = Siswa::findOrFail($id);
        return view('siswa.show', compact('halaman', 'siswa'));
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        //
        $siswa  = Siswa::findOrFail($id);
        return  view('siswa.edit', compact('siswa'));
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        //
        $siswa = Siswa::findOrFail($id);
        $siswa->update($request->all());
        return  redirect('siswa');
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
        $siswa = Siswa::findOrFail($id);
        $siswa->delete();
        return redirect('siswa');
    }

    public function tesCollection()
    {

       $data =
       [
            ['nisn' => '1001', 'nama_siswa' => 'Agus Yulianto'],
            ['nisn' => '1002', 'nama_siswa' => 'Agu Yulianto'],
            ['nisn' => '1003', 'nama_siswa' => 'Agus Yuli'],
            ['nisn' => '1004', 'nama_siswa' => 'Agung Yulianto'],
       ];
       $koleksi = collect($data);
       $koleksi->tojson();
       return $koleksi;


    }

    public function dateMutator()
    {
        $siswa=Siswa::findOrFail(1);
        $str = 'Tanggal Lahir :' . $siswa->tgl_lahir->format('d-m-Y') . '<br>' .
        'Ulang Tahun Saya : ' . '<strong>' . $siswa->tgl_lahir->addYears(30)->format('d-m-Y') .'</strong>';

        return $str;

    }
}


Mohon Pencerahanya gan

avatar ardakusuma
@ardakusuma

50 Kontribusi 4 Poin

Diperbarui 6 tahun yang lalu

4 Jawaban:

pakai Eloqueny nya gini aja gan pas bagian Store

<pre> Siswa::create([ 'nisn' =&gt; $request-&gt;nisn, (Lanjutkan gan)

]); </pre>

atau pakai yang query builder

avatar farhansyam
@farhansyam

129 Kontribusi 31 Poin

Dipost 6 tahun yang lalu

jadi insert nya pakai <pre> siswa::create($input) </pre> gitu ?

pastikan nama di masing2 inputnya sama seperti kolom di databasenya.

misalnya jika di database nama kolomnya "NamaSiswa" maka di tag inputnya harus <pre> &lt;input type='text' name='NamaSiswa'&gt; </pre>

begitu pula dengan tgl lahir dan jenis kelamin

avatar ferdvtn
@ferdvtn

17 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

Oke thx gan atas pencerahanya @ferdvtn @farhansyam

avatar ardakusuma
@ardakusuma

50 Kontribusi 4 Poin

Dipost 6 tahun yang lalu

untuk menggunakan method create, harus diset mass asignable di modelnya kak.

<pre> protected $fillable = ['nisn', 'nama_siswa', 'jenis_kelamin', 'tgl_lahir']; </pre>

avatar zillucks
@zillucks

28 Kontribusi 8 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban