laravel timestamps不工作,删除模型但仍可以检索值?

时间:2018-04-26 07:02:49

标签: php laravel-5.6

这是我的控制器

<?php

namespace App\Http\Controllers\HR;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\models\HR\attendance;

class attendanceController extends Controller
{
    public function select()
    {
        return attendance::get();
    }
}

这是我的路线web.php

Route::get('attendance/select/','HR\attendanceController@select');

这是我的模特出勤率.php

<?php

namespace App\models\HR;

use Illuminate\Database\Eloquent\Model;

class attendance extends Model
{
    public $timestamps = false;
}

当我在考勤模型上更新时,我有错误未知列updated_at,这意味着我必须禁用时间戳,然后我添加

public $timestamps = false;

但它没有用,我仍然会得到未知的专栏updated_at。然后我删除它

这是我的laravel目录结构,HR文件夹中没有attendance.php,也没有其他地方。但是,我可以从中检索价值,这怎么可能?

enter image description here

2 个答案:

答案 0 :(得分:0)

  

默认情况下,Eloquent希望您的表上存在created_at和updated_at列。如果您不希望Eloquent自动管理这些列,请将模型上的$ timestamps属性设置为false:

您在表update_at

中遗漏了created_atattendancelaravel

,当您updatecreate数据时,laravel会默认添加这样的内容set update_at="YYYY-mm-dd HH:ii:ss"

因此,您应该为每个表添加update_atcreated_at

laravel 5.6 document

答案 1 :(得分:0)

对不起,我很抱歉。这是我的错误,我将attendance.php复制到其他文件夹,似乎作曲家autoload_classmap.php将其指向该文件夹