trust trinity
trust trinity

Reputation: 33

saving data to the database

im trying to save data to the database but im getting an error Creating default object from empty value

namespace App\Http\Controllers;

use Illuminate\Http\Request; use App\Message;

class MessageController extends Controller 
{ 
    public function submit(Request $request)
    { 
        $this->validate($request, [ 'name' => 'required', 'email' => 'required']);

        //create a new message
        $messge= new Message;

        $message->name=$request->name;
        $message->email = $request->email;
        $message->message = $request->message;

        //message save

        $message -> save();
        return redirect('/');
    }
}

Upvotes: 2

Views: 126

Answers (1)

Abhay Maurya
Abhay Maurya

Reputation: 12277

WHat you are experiencing is "typo". You are initializing the model with variable $messge and then you are accessing it using a different name $message. Correct code:

namespace App\Http\Controllers;

use Illuminate\Http\Request; 

use App\Message;

class MessageController extends Controller 
{ 
    public function submit(Request $request)
    { 
        $this->validate(
            $request, 
            [ 
                'name' => 'required',
                'email' => 'required'
            ]
        );

        //create a new message
        $message= new Message;

        $message->name=$request->name;
        $message->email = $request->email;
        $message->message = $request->message;

        //message save
        $message->save();
        return redirect('/');
    }
}

Upvotes: 1

Related Questions