未找到列:1054 未知列 laravel

Posted

技术标签:

【中文标题】未找到列:1054 未知列 laravel【英文标题】:Column not found: 1054 Unknown column laravel 【发布时间】:2015-02-22 15:58:12 【问题描述】:

所以我尝试使用 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))

【问题讨论】:

那么您的模型是否将$timestamps 设置为true,但数据库表没有相应的列? 可能重复***.com/questions/28277955/… 【参考方案1】:

这是因为 Laravel 假设你想为你的模型使用 updated_atcreated_at 时间戳。所以它也假设它们存在于数据库中。您可以通过添加来创建两列或禁用模型的时间戳

public $timestamps = false;

Laravel Docs

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

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

【讨论】:

非常感谢,我继续手动创建了 2 列,并且成功了【参考方案2】:

这对我有用。

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

然后重置您的迁移

    php artisan migrate:reset
    php artisan migrate

【讨论】:

以上是关于未找到列:1054 未知列 laravel的主要内容,如果未能解决你的问题,请参考以下文章

Laravel vue 未找到列:1054 未知

未找到列:1054 laravel 4 中的未知问题

未找到列:1054未知列问题

未找到列:1054“where 子句”中的未知列“MONTH(date)”[重复]

SQLSTATE [42S22]:未找到列:1054 未知列一对多(反向)关系 laravel

未找到列:1054“on 子句”中的未知列“comments.commenter_id”