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 5 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 5 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 5 tahun yang lalu

Oke thx gan atas pencerahanya @ferdvtn @farhansyam

avatar ardakusuma
@ardakusuma

50 Kontribusi 4 Poin

Dipost 5 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 5 tahun yang lalu

Login untuk ikut Jawaban