lundi 21 août 2017

creating default object from empty value in laravel 5

I'm trying to make two functions in controller that have post action and that are in the same page. My Controller

public function store(Request $request)
{


    $status = DB::table('analytics')->where('dienstleistung', '!=', '')->get();
    //Save data
        $rules = [          
        'site_id'       => 'required',
        'dienstleistung'        => 'required',
        'objekt'        => 'required',
        'zimmer'        => 'required',
        'vorname'       => 'required',
        'name'      => 'required',
        'strasse'       => 'required',
        'ort'       => 'required',
        'plz'       => 'required',
        'tel'       => 'required',
        'email'     => 'required|email',
        'reinigungstermin'      => 'required',
        'gekommen'      => 'required',
        'message'       => 'required',
        'status'        => 'required',
        'answer'        => 'required',
        'notiz'         => 'required',
        'userId'        => 'required',
                ];

                $validator = Validator::make(Input::all(), $rules);

                if($validator->fails()) {
                    return Redirect::to('anfrage')
                        ->withErrors($validator)
                        ->withInput();
                }
                else {
                    $anfrage = new Analytic();                      
                    $anfrage->site_id = Input::get('site_id');
                    $anfrage->dienstleistung = Input::get('dienstleistung');
                    $anfrage->objekt = Input::get('objekt');
                    $anfrage->zimmer = Input::get('zimmer');
                    $anfrage->vorname = Input::get('vorname');
                    $anfrage->name = Input::get('name');
                    $anfrage->strasse = Input::get('strasse');
                    $anfrage->ort = Input::get('ort');
                    $anfrage->plz = Input::get('plz');
                    $anfrage->tel = Input::get('tel');
                    $anfrage->email = Input::get('email');
                    $anfrage->reinigungstermin = Input::get('reinigungstermin');
                    $anfrage->gekommen = Input::get('gekommen');
                    $anfrage->message = Input::get('message');
                    $anfrage->status = Input::get('status');
                    $anfrage->answer = Input::get('answer');
                    $anfrage->notiz = Input::get('notiz');
                    $anfrage->userId = Input::get('userId');
                    try {

                        $anfrage->save();
                        flash()->success(trans('app.success'));
                        return Redirect::to('anfrage');

                    } catch (\Exception $e) {
                        Log::writeException($e);
                        return Redirect::to('anfrage')
                            ->withErrors($e->getMessage())
                            ->withInput();
                    }

                }

}
 public function editItem(Request $request) {
    $anfrages = Analytic::find($request['id']  );

        $anfrages->status = $request->status;
    $anfrages->answer = $request->answer;
    $anfrages->notiz = $request->notiz;
     $anfrages->save();
    return response ()->json( $anfrages );
}

My route:

Route::post('anfrage', 'AnfrageController@store');
Route::post ( 'anfrage', 'AnfrageController@editItem' );

EditItem function is OK, it makes changes when I want to edit data, but when I want to store data, message being displayed is:
creating default object from empty value

So, I need to leave active only one of these function, both are not working.



from Newest questions tagged laravel-5 - Stack Overflow http://ift.tt/2xiWFB3
via IFTTT

Aucun commentaire:

Enregistrer un commentaire