Laravel не отправляет в базу данных

#php #laravel #laravel-5.2

#php #laravel #laravel-5

Вопрос:

Где-то в коде есть ошибка, и я, похоже, не могу ее найти, любая помощь была бы отличной. Это простая форма, которая сохраняется в БД.

Приложение использует laravel 5.2, и все, что нужно, это собирать данные. при нажатии кнопки отправки в форме ничего!

маршрут

 Route::resource('/form' , 'PagesController');
  

контроллеру нужно только создавать, создавать и сохранять, это все, что нужно приложению.

 <?php

namespace AppHttpControllers;

use Request;
use AppHttpRequests;
use Data;
use AppHttpRequestsDataRequest;
use CarbonCarbon;

class PagesController extends Controller
{
    //Display Index
    public function index()
    {
        return view ('welcome');
    }

    public function create()
    {
        return view ('create');
    }

    //Store Articles from form
    public function store(DataRequest $request)
    {
        Data::create($request->all());
        return redirect('create')->with('message' , 'Form submitted');
    }


}
  

модель использует простой список защищенных полей и carbon для хранения временных меток

 <?php

namespace App;

use IlluminateDatabaseEloquentModel;
use AppHttpRequestsDataRequest;
use CarbonCarbon;

class Data extends Model
{
    protected $fillable = [
        'name',
        'email',
        'phone',
        'company',
        'addcomments',
        'published_at',
    ];

    protected $dates = ['published_at'];

    //Get all published articles by date
    public function scopePublished($query)
    {
        $query->where('published_at' , '<=' , Carbon::now());
    }
    //Get all unpublished or future articles
    public function scopeUnpublished($query)
    {
        $query->where('published_at' , '>=' , Carbon::now());
    }
    // Set form to publish articles with a time and date in the Published_at field
    public function setPublishedAtAttribute($date)
    {
        $this->attributes['published_at'] = Carbon::createFromFormat('Y-m-d' , $date);
    }
}
  

форма

 {!! Form::open(['url' => 'form']) !!}
            <div class="form-group">
                {!! Form::label('name' , 'Name:') !!}
                {!! Form::text('name', null , ['class' => 'form-control']) !!}
            </div>
            <div class="form-group">
                {!! Form::label('email' , 'EMail:') !!}
                {!! Form::text('email', null , ['class' => 'form-control']) !!}
            </div>
            <div class="form-group">
                {!! Form::label('phone' , 'Phone Number:') !!}
                {!! Form::text('phone', null , ['class' => 'form-control']) !!}
            </div>
            <div class="form-group">
                {!! Form::label('company' , 'Company:') !!}
                {!! Form::text('company', null , ['class' => 'form-control']) !!}
            </div>
            <div class="form-group">
                {!! Form::label('addcomments' , 'Additional Comments:') !!}
                {!! Form::textarea('addcomments', null , ['class' => 'form-control']) !!}
            </div>
            <div class="form-group">
                {!! Form::submit('Submit Now', ['class' => 'btn btn-primary form-control']) !!}
            </div>
            {!! Form::close() !!}
  

Комментарии:

1. Обновляется ли страница вообще, или она просто ничего не делает, когда вы нажимаете submiit? попробуйте ввести / в URL {!! Form::open([‘url’ => ‘/form’]) !!} .

2. если вы выходите из системы $request в журнал laravel, получаете ли вы все ожидаемые данные?

3. Вы уверены, что этот код вообще работает? Вы используете неправильные пространства имен для данных

4. @MinaAbadir Я считаю, что пространство имен файла данных в порядке… но в PagesController это неправильно…. @Morby … это должно быть use AppData вместо use Data

5. @prateekkathal Это то, что я говорил, он импортирует неправильный класс.

Ответ №1:

Итак, проблема заключалась в том, что упоминалось в комментариях

использовать ДАННЫЕ;

Для

используйте App DATA;

и смесь нескольких небольших настроек интерфейса

все отсортировано