Laravel数据透视表时间戳

时间:2018-10-10 21:08:17

标签: laravel timestamp pivot

关于Laravel数据透视表及其时间戳(created_at / updated_at),我有一个小问题。

场景是:

  

将许多票证分配给许多用户,并查看何时

我想保留__cpp_lib_hardware_interference_size 201703的时间戳记,但是在创建迁移时希望摆脱created_at列。

在我的研究中,我偶然发现了在模型中声明updated_at的解决方案。但是数据透视表没有模型-它将禁用public $timestamps = false;created_at

除此之外,我没有找到与我的情况相符的结果。

有人可以在这里启发我吗? 谢谢

2 个答案:

答案 0 :(得分:1)

  

但是数据透视表没有模型

这不是事实。从Laravel文档中:

  

如果您想定义一个自定义模型来表示   关系的中间表,您可以调用using方法   在定义关系时。定制的多对多枢轴模型   应该扩展Illuminate\Database\Eloquent\Relations\Pivot类   而自定义多态多对多枢纽模型应扩展   Illuminate\Database\Eloquent\Relations\MorphPivot类。

为此,只需为数据透视表创建一个模型,然后其余步骤与普通模型几乎相同。

您可以将const UPDATED_AT = null;设置为仅使用created_atSO thread

中的更多详细信息

答案 1 :(得分:1)

更新

在Laravel 5中,您可以使用withTimestamps()这样来解决此问题并在数据透视表中维护时间戳。

return $this->belongsToMany('App\Role')->withTimestamps();

https://laravel.com/docs/5.1/eloquent-relationships#many-to-many