Я пытаюсь написать простой сайт, который может писать и читать простую базу данных mysql, используя Laravel, но я натолкнулся на полную остановку, поскольку Laravel, похоже, не распознает мою модель. Либо это, либо я делаю что-то не так.
Моя модель:
class Submission extends Eloquent
{
public static $timestamps = true;
protected $fillable = array('location', 'twitter', 'instagram', 'website');
}
Моя форма:
@extends('layout')
@section('content')
{{ Input::old('twitter') }} <br />
{{ Input::old('instagram') }} <br />
{{ Input::old('website') }} <br />
{{ Form::open(array('url' => '/submission', 'files' => true)) }}
<div class="form-group">
{{ Form::label('twitter', 'Twitter') }}
{{ Form::text('twitter', '', array('class' => 'form-control')) }}
</div>
<div class="form-group">
{{ Form::label('instagram', 'Instagram') }}
{{ Form::text('instagram', '', array('class' => 'form-control')) }}
</div>
<div class="form-group">
{{ Form::label('website', 'Website') }}
{{ Form::text('website', '', array('class' => 'form-control')) }}
</div>
{{ Form::button('Submit image', array('class' => 'btn btn-success', 'type' => 'submit')) }}
<input type="hidden" name="post" value="yes">
{{ Form::close() }}
@stop
Мой контроллер:
public function postView()
{
$submission = new Submission;
$submission->twitter = Input::get('twitter');
$submission->instagram = Input::get('instagram');
$submission->website = Input::get('website');
$submission->save();
return Redirect::to('submission')->withInput();
}
Моя база данных выглядит так: id location twitter instagram website created_at updated_at
Я знаю, что моя конфигурация базы данных верна, так как я могу получить информацию, используя DB::table('submissions')->get();
так что из того, что я могу сказать, это Laravel, который не узнает мою модель?
РЕДАКТИРОВАТЬ:
Оказывается, что изменение public static $timestamps = true;
в public $timestamps = true;
починил это.
Это работает:
DB :: таблица ( ‘представлений’) -> получить ();
как следует вернуть все в таблицу. Если это работает, то Eloquent не может найти вашу таблицу, вы можете попытаться вставить ее в свою модель:
защищенный $ table = ‘submissions’;
Он будет явно определять имя таблицы в модели, даже если оно кажется правильным в вашем случае
В противном случае вам нужно сказать, что именно ответит laravel, когда вы сделали запрос.
Надеюсь, поможет
Других решений пока нет …