我正在尝试编写一个简单的站点,可以使用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;
会修复它。
答案 0 :(得分:2)
这是否有效:
DB ::表(&#39;提交&#39;) - &GT;得到();
因为它应该返回表中的所有内容。如果它有效,那么Eloquent无法找到您的表格,您可以尝试将其放入您的模型中:
受保护的$ table =&#39;提交&#39;;
它将明确定义模型中的表名,即使它在您的情况下似乎是正确的
否则,您需要告诉laravel在您提出请求时的确切答案。
希望有所帮助