一尘不染

Laravel未知列'updated_at'

mysql

我刚开始使用Laravel,却遇到以下错误:

未知列’updated_at’插入gebruikers(naam,wachtwoord,updated_at,created_at)

我知道错误是由您在迁移表时的时间戳列引起的,但我没有使用该updated_at字段。我遵循Laravel教程时曾经使用它,但是现在我正在制作(或尝试制作)自己的东西。即使不使用时间戳,我也会收到此错误。我似乎找不到使用它的地方。这是代码:

控制者

public function created()
{
    if (!User::isValidRegister(Input::all())) {
        return Redirect::back()->withInput()->withErrors(User::$errors);
    }

    // Register the new user or whatever.
    $user = new User;
    $user->naam = Input::get('naam');
    $user->wachtwoord = Hash::make(Input::get('password'));
    $user->save();

    return Redirect::to('/users');
}

路线

Route::get('created', 'UserController@created');

模型

public static $rules_register = [
    'naam' => 'unique:gebruikers,naam'
];

public static $errors;
protected $table = 'gebruikers';

public static function isValidRegister($data)
{
    $validation = Validator::make($data, static::$rules_register);

    if ($validation->passes()) {
        return true;
    }

    static::$errors = $validation->messages();

    return false;
}

我一定会忘记某事…我在这里做错了什么?


阅读 347

收藏
2020-05-17

共1个答案

一尘不染

在模型中,编写以下代码;

public $timestamps = false;

这会起作用。

Explanation : By default laravel will expect created_at & updated_at column in
your table. By making it to false it will override the default setting.

2020-05-17