在数据透视表中附加数据时时间戳不更新
Posted
技术标签:
【中文标题】在数据透视表中附加数据时时间戳不更新【英文标题】:Timestamps are not updating while attaching data in pivot table 【发布时间】:2014-11-01 19:27:58 【问题描述】:我正在使用以下附加语句在数据透视表中创建一行。
$music = Music::find(1);
$music->users()->attach(1);
这会在数据透视表中插入一行,但它不会更新时间戳。时间戳仍然是 0000-00-00 00:00:00
有什么方法可以更新数据透视表中的时间戳。 ?
提前致谢,
【问题讨论】:
【参考方案1】:如果您希望您的数据透视表自动维护 created_at 和 updated_at 时间戳,使用
withTimestamps()
关系定义的方法。
return $this->belongsToMany('Role')->withTimestamps();
对于 Laravel 4.2:Working With Pivot Tables
Laravel 5.0:Working With Pivot Tables
Laravel 5.1:Retrieving Intermediate Table Columns
Laravel 5.2:Filtering Relationships Via Intermediate Table Columns
Laravel 5.3:Filtering Relationships Via Intermediate Table Columns
Laravel 5.4:Retrieving Intermediate Table Columns
Laravel 5.5:Retrieving Intermediate Table Columns
Laravel 5.6:Retrieving Intermediate Table Columns
Laravel 5.7:Retrieving Intermediate Table Columns
Laravel 5.8:Retrieving Intermediate Table Columns
【讨论】:
这必须在关系的两边吗?还是只有一侧? @Noitidart 我刚刚检查过,看来它需要在关系的双方才能工作。以上是关于在数据透视表中附加数据时时间戳不更新的主要内容,如果未能解决你的问题,请参考以下文章