未找到列:1054未知的列laravel

时间:2014-12-24 14:36:18

标签: php mysql laravel

所以我试图制作一个带有laravel的表单,但除了在新版本中,他们删除了表单!但我可以运行

所以这是:

Route::post('/register', function()
{
    $user = new User;
    $user-> u_n = Input::get('u_n');
    $user->save();
    return View::make('thanks')->with('theEmail',$theEmail);
});

和我的刀片:

{{Form::open(array('url'=>'register'))}}

username : {{Form::label('u_n', 'E-Mail Address');}}
{{Form::text('u_n');}}
{{Form::submit('');}}

u_n是我的mysql数据库字段的名称 这是实际的错误:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'updated_at' in 'field list' (SQL: insert into `users` (`u_n`, `updated_at`, `created_at`) values (sepehr, 2014-12-24 14:32:55, 2014-12-24 14:32:55))

2 个答案:

答案 0 :(得分:35)

这是因为Laravel假设您要为模型使用updated_atcreated_at时间戳。所以它也假设它们存在于数据库中。您可以通过添加

来创建两列或禁用模型的时间戳
public $timestamps = false;

Laravel Docs

顺便说一句:如果您正在使用迁移,添加时间戳列是轻而易举的。

Schema::table('table_name', function(Blueprint $table){
    $table->timestamps();
}

答案 1 :(得分:0)

这对我有用。

     $table->timestamp('created_at')->nullable();
        $table->timestamp('updated_at')->nullable();:

然后重置您的迁移

    php artisan migrate:reset
    php artisan migrate