Модель Laravel Eloquent — не может получить доступ к базе данных

Я пытаюсь написать простой сайт, который может писать и читать простую базу данных 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; починил это.

1

Решение

Это работает:

DB :: таблица ( ‘представлений’) -> получить ();

как следует вернуть все в таблицу. Если это работает, то Eloquent не может найти вашу таблицу, вы можете попытаться вставить ее в свою модель:

защищенный $ table = ‘submissions’;

Он будет явно определять имя таблицы в модели, даже если оно кажется правильным в вашем случае

В противном случае вам нужно сказать, что именно ответит laravel, когда вы сделали запрос.

  • У вас есть сообщение об ошибке в вашем браузере?
  • У вас есть сообщение об ошибке в вашем файле журнала (проверьте папку app / storage / logs)
  • Ваша база данных в порядке? (Приложение / Config / database.php)
  • Вы создали таблицу, используя миграцию laravel?

Надеюсь, поможет

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]