当前位置: 首页 > 知识库问答 >
问题:

Model::insert()未更新时间戳

马业
2023-03-14

我在迁移(模式)和模型中添加了时间戳

$table->timestamps();  //In the Schema

public $timestamps = true; //In the model

我创建了一个包含数据库所有字段的数组,并将其插入到数据库中。

Checkin::insert($input);

在表中,它更新除updated_at、created_at时间戳之外的所有字段

我有另一个(默认)用户模型,它更新时间戳。在那个模型中,我使用-

共有1个答案

华浩壤
2023-03-14

如果希望设置时间戳,则应使用create,而不是insert

Checkin::create($input);

你也可以

$checking = Checkin::create($input);

这将为您提供刚刚创建的签入。

通过将以下内容添加到模型中,确保字段是可填充的:

protected $fillable = array(
    'name',
    'field_1',
    'field_2',
    ... // all the fields you want to be mass-assignable here
    );

此外,不需要设置public$timestamps=true 因为如果您使用的是雄辩的模型,这是Laravel中的默认设置。

 类似资料:
  • 问题内容: 我创建了以下示例,以便您可以确切了解正在发生的事情:http : //jsfiddle.net/8t2Ln/101/ 如果我使用ng-options,也会发生同样的事情。我这样做有不同的原因,但由于简化了示例,所以省略了这一部分。 如您所见,默认情况下它具有两个选项。我将在选择旁边显示ng- model的选择值,以便您可以看到它的含义。当您在顶部添加第三个选项时,它会将值设置为该新选项

  • 问题内容: 我将an 绑定到输入,但是绑定到该变量的值未在该指令声明的位置之外进行更新: 选择新日期时,仅内部会更新。外部的那个仍然是旧值(可能取决于我是否在控制器中声明了它,这无关紧要)。 我正在使用angular-materialize,我不确定这是否是问题的根源,但是没有意义,因为这是与CSS框架materializecss一起使用的特定的angular框架。 这是我正在使用的组件。 编辑:

  • 我的程序使用日期来检查工程师何时访问过机器。唯一的问题是日期并不是最新的。机器显示的日期和时间是机器启动的准确时间。当按钮被点击时就不会了。任何帮助都会有帮助。 代码:

  • 问题内容: 这里的PLUNKR示例 我正在使用某种形式的jquery autocomplete作为angularjs direcitve。当jquery使用angular 更新输入的值时,直到下一个摘要(我想)之后才注意到更改。 我的第一个想法是使用来对后摘要执行操作,但是如您所见,它没有帮助。 我的第二种方法是重写该元素的功能以触发事件,但是我没有设法使其起作用。 尝试从自动完成列表中选择一个值

  • Updated可以让您在记录插入或每次记录更新时自动更新数据库中的标记字段为当前时间,需要在xorm标记中使用updated标记,如下所示进行标记,对应的字段可以为time.Time或者自定义的time.Time或者int,int64等int类型。 type User struct { Id int64 Name string UpdatedAt time.Time

  • 问题内容: 我在mysql表中具有属性为“ ON UPDATE CURRENT_TIMESTAMP”的时间戳。有没有办法在特殊情况下手动禁用更新时间戳?(例如:更新条目以修改博客文章,但不重新添加日期) 问题答案: 有没有办法在特殊情况下手动禁用更新时间戳?(例如:更新条目以修改博客文章,但不重新添加日期) 听起来您需要配置默认约束,以便仅在插入时填充列: 将其更改为仅这意味着任何修订都不会触发时