Laravel Eloquent Model - 无法访问数据库

时间:2014-09-17 12:37:30

标签: php mysql laravel eloquent

我正在尝试编写一个简单的站点,可以使用Laravel编写和读取一个简单的mysql数据库,但是我已经遇到了一个句号,因为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 个答案:

答案 0 :(得分:2)

这是否有效:

  

DB ::表(&#39;提交&#39;) - &GT;得到();

因为它应该返回表中的所有内容。如果它有效,那么Eloquent无法找到您的表格,您可以尝试将其放入您的模型中:

  

受保护的$ table =&#39;提交&#39;;

它将明确定义模型中的表名,即使它在您的情况下似乎是正确的

否则,您需要告诉laravel在您提出请求时的确切答案。

  • 您的浏览器中是否有错误消息?
  • 您的日志文件中是否有错误消息(请查看app / storage / logs文件夹)
  • 您的数据库配置是否正常? (应用程序/配置/ database.php中)
  • 您是否使用laravel迁移创建了表?

希望有所帮助