为什么我的数据透视表中的updated_at字段没有更新以进行以下设置?

模型

class Conversation extends Model {

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


控制者

$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/

10-13 06:14