我似乎遇到时间戳问题 - 尝试通过User
数据透视表将Lectures
附加到favorites
时 - 没有更新日期。
这是我的迁移:
Schema::create('favorites', function (Blueprint $table) {
$table->integer('lecture_id')->unsigned();
$table->integer('user_id')->unsigned();
$table->timestamps();
$table->primary(['lecture_id', 'user_id']);
});
讲座关系:
public function favorites()
{
return $this->belongsToMany(User::class, 'favorites');
}
用户关系:
public function favorites()
{
return $this->belongsToMany(Lecture::class, 'favorites')
->withTimestamps();
}
每当我附上:
$event->lecture->favorites()->attach($this->user->id);
字段created_at
和updated_at
都设置为0000-00-00 00:00:00
知道我可能做错了吗?
答案 0 :(得分:4)
为了将时间戳附加到每个模型关系,您需要链接方法->withTimestamps()
。
因此,对于考试,在您的情况下,它将是以下内容:
public function favorites()
{
return $this->belongsToMany(User::class, 'favorites')->withTimestamps();
}
然后将附加时间戳。希望这会对你有所帮助。