Você está na página 1de 4

<?

php

namespace App\Http\Controllers;

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

class SiswaController extends Controller


{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index(Request $request)
{
if($request->has('cari')){
$siswa=Siswa::where('nama_depan','LIKE','%'.$request->cari.'%')-
>get();
}else{
$siswa=Siswa::all();
}

return view('siswa.index', compact('siswa'));


}

/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create(Request $request)
{
//return $request->all();

$user = new \App\User;


$user->role = 'siswa';
$user->name=$request->nama_depan;
$user->email=$request->email;
$user->password=bcrypt('rahasia');
$user->remember_token=str_random(40);
$user->save();

$request->request->add(['user_id' => $user->id]);


$siswa = Siswa::create($request->all());
if($request->hasFile('avatar')){
$request->file('avatar')->move('images/',$request->file('avatar')-
>getClientOriginalName());
$siswa->avatar = $request->file('avatar')->getClientOriginalName();
$siswa->save();
}
return redirect('/siswa')->with('sukses', 'data berhasil ditambahkan');
}

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

/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}

/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
$siswa = \App\Siswa::find($id);
return view('siswa/edit', ['siswa' => $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)
{
//dd($request->all());
$siswa = \App\Siswa::find($id);
$siswa->update($request->all());
if($request->hasFile('avatar')){
$request->file('avatar')->move('images/',$request->file('avatar')-
>getClientOriginalName());
$siswa->avatar = $request->file('avatar')->getClientOriginalName();
$siswa->save();
}
return redirect('/siswa')->with('sukses', 'data berhasil diupdate');
}

/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
$siswa = \App\Siswa::find($id);
$siswa->delete($siswa);
return redirect('/siswa')->with('sukses', 'data berhasil dihapus');
}
public function profile($id)
{
$siswa = Siswa::find($id);
$matapelajaran = Mapel::all();

//menyiapkan data untuk grafik nilai


$categories=[];
$data=[];

foreach($matapelajaran as $mp){
if($siswa->mapel()->wherePivot('mapel_id',$mp->id)->first()){
$categories[] = $mp->nama;
$data[] = $siswa->mapel()->wherePivot('mapel_id',$mp->id)-
>first()->pivot->nilai;
}
}

return view('siswa.profile',['siswa' =>$siswa, 'matapelajaran' =>$matapel


ajaran, 'categories' =>$categories, 'data' =>$data]);
}
public function addnilai(Request $request, $id)
{
$siswa = \App\Siswa::find($id);

if($siswa->mapel()->where('mapel_id',$request->mapel)->exists()){
return redirect('siswa/'.$id.'/profile')-
>with('error','data sudah di input');
}
$siswa->mapel()->attach($request->mapel,['nilai'=>$request->nilai]);
return redirect('siswa/'.$id.'/profile')-
>with('sukses','data berhasil dimasukan');
}
}

Você também pode gostar