php - Laravel Eloquent 模型 - 无法访问数据库

标签 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

我的 Controller :

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::table('submissions')->get();

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

protected $table = 'submissions';

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

否则你需要在你发出请求时告诉 laravel 究竟回答了什么。

  • 您的浏览器中是否有错误消息?
  • 您的日志文件中是否有错误消息(检查 app/storage/logs 文件夹)
  • 你的数据库配置好吗? (app/config/database.php)
  • 您是否使用 laravel 迁移创建了表?

希望对你有帮助

关于php - Laravel Eloquent 模型 - 无法访问数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25890758/

相关文章:

php - 根据当前年月创建上传路径

PHP $_GET 方法不起作用/遵循系统

mysql - 删除具有公共(public)字段的两个不同表的两个结果

mysql n 到 m 查询

MySQL选择字段中重复的地方,不返回所有记录

php - Laravel 验证器 mimes 规则不适用于文档

javascript - jQuery:Ajax - 如何找到最后一个调用

php - 为什么 htmlentities 在每行末尾的文本区域内添加 2 个额外的新行?

php - 从 laravel 中包含的 Blade 获取 Blade 中的变量

php - 在套件中的每个测试之前运行设置代码