lundi 17 juin 2019

can't update data because Call to undefined method Illuminate\Database\Query\Builder::save()

i want to update data from a joined table called siswas and gurus then it show a error 'Call to undefined method Illuminate\Database\Query\Builder::save()'. my database have a relationship on mySQL not from laravel model so guru model and siswa model is blank. this is my update() code

public function update(Request $request, $id)
    {
        $this->validate($request,[
            'id'=>'required',
            'nama'=> 'required',
            'alamat'=> 'required',
            'tempatLahir'=> 'required',
            'tanggalLahir'=> 'required',
            'namaBapak'=> 'required',
            'namaIbu'=> 'required',
            'noTelp'=> 'required',
            'kelas'=> 'required',

        ]);

        $siswas = DB::table('siswas')
        ->join('gurus','gurus.id','=','siswas.kelas')
        ->select('siswas.id','siswas.nama','gurus.guruKelas','siswas.status'
        ,'siswas.fotoSiswa','siswas.alamat','siswas.noTelp','siswas.tempatLahir'
        ,'siswas.tanggalLahir','siswas.namaBapak','siswas.namaIbu')
        ->where("siswas.id",$id)
        ->limit(1);
        $siswas->id = $request->input('id');
        $siswas->nama = $request->input('nama');
        $siswas->alamat = $request->input('alamat');
        $siswas->tempatLahir = $request->input('tempatLahir');
        $siswas->tanggalLahir = $request->input('tanggalLahir');
        $siswas->namaBapak = $request->input('namaBapak');
        $siswas->namaIbu = $request->input('namaIbu');
        $siswas->noTelp = $request->input('noTelp');
        $siswas->guruKelas = $request->input('kelas');
        $siswas->status = $request->input('status');
        if($request->hasFile('fotoSiswa')){
            //get filename with extension
            $filenameWithExt = $request->file('fotoSiswa')->getClientOriginalName();
            //get just file name
            $filename = pathinfo($filenameWithExt, PATHINFO_FILENAME);
            //get just ext
            $extension = $request->file('fotoSiswa')->getClientOriginalExtension();
            //filename to store
            $fileNameToStore= $filename.'_'.time().'.'.$extension;
            //upload Image
            $path = $request->file('fotoSiswa')->storeAs('public/fotoSiswa', $fileNameToStore);
            if ($request->hasFile('fotoSiswa')) 
            {
                Storage::delete('public/fotoSiswa/' . $gurus->fotoSiswa);

            }
            $siswas->fotoSiswa = $fileNameToStore;
        }
        $siswas->save();
        return redirect('/siswa')->with('success','Data siswa telah dirubah!');

    }



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire