我使用以下的attach语句在透视表中创建一行。
$music = Music::find(1); $music->users()->attach(1);
这样在透视表中插入了一行,但是时间戳没有被更新。时间戳仍然是0000-00-00 00:00:00。
0000-00-00 00:00:00
是否有任何方法可以更新透视表中的时间戳?
问题出现原因:没有在关系定义中使用withTimestamps()方法,导致无法自动更新创建时间和更新时间的时间戳。
解决方法:在关系定义中使用withTimestamps()方法,例如return $this->belongsToMany('Role')->withTimestamps();。并且需要在关系的两个方向都使用该方法才能生效。
用户名或电子邮箱地址
密码