Данные не передаются в базу данных - PullRequest
0 голосов
/ 24 января 2019

Я создаю контактную страницу, но данные формы не сохраняются в базе данных. Какое решение?

ContactController.php

public function contact()
{
    if($request->isMethod('post'))
    {
        $data = $request->all();
    }
    $contact = new Contact;
    $contact->name = $data['contact_name'];
    $contact->email = $data['contact_email'];
    $contact->subject = $data['contact_subject'];
    $contact->body = $data['description'];
    $category->save();

    return redirect()->back()->with('flash_message_success', 
        'Your message has been sent successfully');
}

contact.blade.php

<form action="{{ url('/contact') }}" id="main-contact-form" class="contact-form row" name="contact-form" method="post">
     {{ csrf_field() }}
     <div class="form-group col-md-6">
         <input type="text" name="contact_name" class="form-control" required="required" placeholder="Name">
     </div>
     <div class="form-group col-md-6">
         <input type="email" name="contact_email" class="form-control" required="required" placeholder="Email">
     </div>
     <div class="form-group col-md-12">
         <input type="text" name="contact_subject" class="form-control" required="required" placeholder="Subject">
     </div>
     <div class="form-group col-md-12">
         <textarea name="description" id="message" required="required" class="form-control" rows="8" placeholder="Your Message Here"></textarea>
     </div>                        
     <div class="form-group col-md-12">
         <input type="submit" name="submit" class="btn btn-primary pull-right" value="Submit">
     </div>
</form>

Маршруты

Route::get('contact', function(){
    return view('contact');
});

Route::post('contact', function(){
    return view('contact');
});

1 Ответ

0 голосов
/ 24 января 2019

Используйте $contact->save();, а не $category->save();, а также удалите оператор if (на данный момент): if($request->isMethod('post')) {

Ваш маршрут должен быть:

Route::post('contact', 'ContactController@contact')->name('contact');
...