为什么我的数据透视表 中的updated_at 字段没有更新并提供以下设置?
模型
class Conversation extends Model {
public function users()
{
return $this->belongsToMany('App\User')->withTimestamps();
}
}
Controller
$conversation = Conversation::find($id);
$conversation->users()->touch();
最后一行应该——就我对整个事情的理解——也更新数据透视表 updated_at 字段,不是吗?
但事实并非如此。现在我必须通过数据库查询手动完成。
最佳答案
我认为最好的方法是:
$conversation->users()->updateExistingPivot(
$conversation->users()->get(),
['updated_at' => date('Y-m-d H:i:s')]
);
它适用于我(Laravel 5.7)。
关于laravel-5 - Laravel 5 > 触摸数据透视表(多对多),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35243156/