Laravel 5>触摸数据透视表(多对多)

时间:2016-02-06 16:08:30

标签: laravel-5 pivot-table

为什么我的数据透视表中的 updated_at 字段未更新,无法进行以下设置?

模型

class Conversation extends Model {

    public function users()
    {
       return $this->belongsToMany('App\User')->withTimestamps();
    }
}

控制器

$conversation = Conversation::find($id);
$conversation->users()->touch();

最后一行应该 - 据我了解整个事情 - 也更新了pivotots表updated_at字段,不应该吗?

但事实并非如此。现在我必须通过数据库查询手动完成。

1 个答案:

答案 0 :(得分:0)

我认为最好的方法是:

$conversation->users()->updateExistingPivot(
    $conversation->users()->get(),
    ['updated_at' => date('Y-m-d H:i:s')]
);

它对我有用(Laravel 5.7)。