在 Laravel 中保存数据时如何禁用 updated_at 和 created_at

我试图在模型函数中保存数据。使用模型的 save() 函数时,我看到一些错误,如下所示。


Illuminate\Database\QueryException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'updated_at' in 'field list' (SQL: insert into account_types( name, updated_at, created_at) values (manufactuer, 2019-08-05 05:33:57, 2019-08-05 05:33:57)) 在文件 F:\HTML&


我已经删除了表中的 created_at 和 updated_at 列,因为我不需要它。我想知道在 Laravel 中使用模型 save() 函数时如何禁用 created_at 和 update_at 数据保存。


<?php


namespace pshub;


use Illuminate\Database\Eloquent\Model;


class AccountType extends Model

{

    /**

     * The attributes that are mass assignable.

     *

     * @var array

     */

    protected $fillable = ['name'];


    // Create Type Function

    public function createType($type) {

        $existence = $this->where('name', $type)->get();


        if (sizeof($existence) > 0) {

            return $this->where('name', $type);

        } else {

            $this->name = $type;

            $this->save();

            return $this->id;

        }

    }

}


婷婷同学_
浏览 159回答 2
2回答

汪汪一只猫

只需添加这个:public&nbsp;$timestamps&nbsp;=&nbsp;false;在你的模型中,你很高兴。

翻阅古今

你要么必须声明public $timestamps = false; 在每个模型中,或者创建一个 BaseModel,在那里定义它,然后让你的所有模型扩展它而不是雄辩。如果您使用 Eloquent,请记住数据透视表必须有时间戳。更新:请注意,在 Laravel v3 之后,数据透视表中不再需要时间戳。更新:您还可以通过从迁移中删除$table->timestamps()来禁用时间戳。你可以这样使用。public $timestamps = false;&nbsp; public function setUpdatedAt($value){&nbsp; return NULL;}public function setCreatedAt($value){&nbsp; return NULL;}
打开App,查看更多内容
随时随地看视频慕课网APP