Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php laravel-从数据库中删除更新的列和创建的列后,laravel尝试插入到这些列中_Php_Laravel_Laravel 5_Eloquent_Laravel Migrations - Fatal编程技术网

Php laravel-从数据库中删除更新的列和创建的列后,laravel尝试插入到这些列中

Php laravel-从数据库中删除更新的列和创建的列后,laravel尝试插入到这些列中,php,laravel,laravel-5,eloquent,laravel-migrations,Php,Laravel,Laravel 5,Eloquent,Laravel Migrations,我已经从数据库中删除了created_at和Update_at,但laravel试图插入这些列,但我已经从数据库和controller中删除了代码。我想有些东西被缓存了。顺便说一句,我不想在模型中使用public$timestamps=false,因为它们似乎是多余的,不需要的。事实上,您需要设置: public $timestamps = false; 这不是额外的,也不是不需要的,因为默认情况下假设模型有时间戳(事实上,几乎在所有表中都保留时间戳是非常合理的) 在保存记录的过程中使用时间戳

我已经从数据库中删除了created_at和Update_at,但laravel试图插入这些列,但我已经从数据库和controller中删除了代码。我想有些东西被缓存了。顺便说一句,我不想在模型中使用
public$timestamps=false
,因为它们似乎是多余的,不需要的。

事实上,您需要设置:

public $timestamps = false;
这不是额外的,也不是不需要的,因为默认情况下假设模型有时间戳(事实上,几乎在所有表中都保留时间戳是非常合理的)

在保存记录的过程中使用时间戳:

if ($this->usesTimestamps()) {
    $this->updateTimestamps();
}

因此,当您在表中没有这些列时,使用Eloquent将此属性设置为false时,没有其他较短的方法了。

您从迁移中删除了它们吗?是的!已从数据库、迁移、控制器中删除!所以你的意思是每个表都需要这两列,而且它们是必需的??我不确定!因为我有几张桌子没有这两张,而且工作正常!如果使用Eloquent保存,则默认情况下,除了透视表之外,所有表都应具有时间戳。但如果您使用的是例如查询生成器,则不需要它们。我不知道pivot表是什么。我所知道的是,我使用了雄辩的语言,他们都不需要!那么,如果你知道雄辩者不需要他们,你为什么还要问呢?正如我所说,默认情况下,如果不将时间戳设置为false,Elounce将始终尝试在列中设置created_和updated_