Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
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
4 Jawaban:
pakai Eloqueny nya gini aja gan pas bagian Store
<pre> Siswa::create([ 'nisn' => $request->nisn, (Lanjutkan gan)
]); </pre>
atau pakai yang query builder
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> <input type='text' name='NamaSiswa'> </pre>
begitu pula dengan tgl lahir dan jenis kelamin
Oke thx gan atas pencerahanya @ferdvtn @farhansyam
untuk menggunakan method create, harus diset mass asignable di modelnya kak.
<pre> protected $fillable = ['nisn', 'nama_siswa', 'jenis_kelamin', 'tgl_lahir']; </pre>