user(); $siswa = Siswa::where('user_id', $profile->user_id) ->join('penilaians', 'siswas.id', '=', 'penilaians.siswa_id') ->join('jurusans', 'siswas.jurusan_id', '=', 'jurusans.id_jurusan') ->select('siswas.*', 'jurusans.nama_jurusan', 'penilaians.nilai_raport', 'penilaians.nilai_keterampilan', 'penilaians.bukti_nilai_raport', 'penilaians.bukti_nilai_keterampilan') ->first(); if($siswa) { $siswa->nis = $siswa->nis ?? 'Informasi tidak tersedia'; $siswa->nama = $siswa->nama ?? 'Informasi tidak tersedia'; $siswa->no_hp = $siswa->no_hp ?? 'Informasi tidak tersedia'; $siswa->alamat = $siswa->alamat ?? 'Informasi tidak tersedia'; $siswa->tempat_lahir = $siswa->tempat_lahir ?? 'Informasi tidak tersedia'; $siswa->tanggal_lahir = $siswa->tanggal_lahir ?? 'Informasi tidak tersedia'; $siswa->jenis_kelamin = $siswa->jenis_kelamin ?? 'Informasi tidak tersedia'; $siswa->nama_ayah = $siswa->nama_ayah ?? 'Informasi tidak tersedia'; $siswa->nama_ibu = $siswa->nama_ibu ?? 'Informasi tidak tersedia'; $siswa->nilai_raport = $siswa->nilai_raport ?? 'Informasi tidak tersedia'; $siswa->nilai_keterampilan = $siswa->nilai_keterampilan ?? 'Informasi tidak tersedia'; $siswa->bukti_nilai_raport = $siswa->bukti_nilai_raport ?? 'Informasi tidak tersedia'; $siswa->bukti_nilai_keterampilan = $siswa->bukti_nilai_keterampilan ?? 'Informasi tidak tersedia'; } return view('server-side.profile.index', compact('profile', 'siswa')); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { // } /** * 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) { $profile = auth()->user(); $siswa = Siswa::where('user_id', $profile->user_id) ->join('penilaians', 'siswas.id', '=', 'penilaians.siswa_id') ->join('jurusans', 'siswas.jurusan_id', '=', 'jurusans.id_jurusan') ->select('siswas.*', 'jurusans.nama_jurusan', 'penilaians.nilai_raport', 'penilaians.nilai_keterampilan', 'penilaians.nilai_ujian') ->first(); return view('server-side.profile.edit', compact('siswa')); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(SiswaRequest $request, $id) { $siswa = Siswa::findOrFail($id); // $siswa->user->update([ // 'password' => Hash::make('smk1tapen'), // ]); $siswa->update([ 'nama' => $request->nama, 'nis' => $request->nis, 'no_hp' => $request->no_hp, 'alamat' => $request->alamat, 'tempat_lahir' => $request->tempat_lahir, 'tanggal_lahir' => $request->tanggal_lahir, 'jenis_kelamin' => $request->jenis_kelamin, 'nama_ayah' => $request->nama_ayah, 'nama_ibu' => $request->nama_ibu, ]); // Periksa apakah ada file foto yang diunggah if ($request->hasFile('foto')) { // Hapus foto sebelumnya jika ada if ($siswa->foto) { // Hapus foto sebelumnya dari direktori $oldFotoPath = public_path('assets/images/siswa/' . $siswa->foto); if (file_exists($oldFotoPath)) { unlink($oldFotoPath); } } // Pindahkan foto baru dan dapatkan namanya $fotoName = uniqid().'.'.$request->foto->extension(); $request->foto->move(public_path('assets/images/siswa'), $fotoName); // Perbarui nama foto dalam database $siswa->update(['foto' => $fotoName]); } $penilaian = Penilaian::where('siswa_id', $siswa->id)->first(); $penilaianData = [ 'nilai_raport' => $request->nilai_raport, 'nilai_keterampilan' => $request->nilai_keterampilan, ]; if ($request->hasFile('bukti_nilai_raport') && $request->file('bukti_nilai_raport')->isValid()) { // Menggunakan isValid() untuk memastikan file diunggah if ($penilaian->bukti_nilai_raport) { $oldBuktiNilaiRaportPath = public_path('assets/bukti_nilai_raport/' . $penilaian->bukti_nilai_raport); if (file_exists($oldBuktiNilaiRaportPath)) { unlink($oldBuktiNilaiRaportPath); } } $request->validate([ 'bukti_nilai_raport' => 'required|mimes:pdf|max:2048', ]); $buktiNilaiRaportName = $request->file('bukti_nilai_raport')->getClientOriginalName(); $request->file('bukti_nilai_raport')->move(public_path('assets/bukti_nilai_raport'), $buktiNilaiRaportName); $penilaianData['bukti_nilai_raport'] = $buktiNilaiRaportName; } if ($request->hasFile('bukti_nilai_keterampilan') && $request->file('bukti_nilai_keterampilan')->isValid()) { // Menggunakan isValid() untuk memastikan file diunggah if ($penilaian->bukti_nilai_keterampilan) { $oldBuktiNilaiKeterampilanPath = public_path('assets/bukti_nilai_keterampilan/' . $penilaian->bukti_nilai_keterampilan); if (file_exists($oldBuktiNilaiKeterampilanPath)) { unlink($oldBuktiNilaiKeterampilanPath); } } $request->validate([ 'bukti_nilai_keterampilan' => 'required|mimes:pdf|max:2048', ]); $buktiNilaiKeterampilanName = $request->file('bukti_nilai_keterampilan')->getClientOriginalName(); $request->file('bukti_nilai_keterampilan')->move(public_path('assets/bukti_nilai_keterampilan'), $buktiNilaiKeterampilanName); $penilaianData['bukti_nilai_keterampilan'] = $buktiNilaiKeterampilanName; } $penilaian->update($penilaianData); return redirect()->route('profile.index')->with('message', 'Profile berhasil diperbarui'); } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { // } }