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

标签 laravel-5 pivot-table

为什么我的数据透视表 中的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/

相关文章:

php - Laravel 5.4 - 使用正则表达式进行验证

php - Laravel 5.4 替换文件(如果存在)

php - 在 Laravel 5 中,使用表单请求进行数组验证时出错?

php - Laravel - 如何从 auth 用户名匹配的另一个表中获取 profile_picture?

excel - 按计算字段对 Excel 数据透视表进行排序

MySQL - 行到列

php - 拉维尔 5 : Can't POST to route resource

mysql - MySql中两个表的交叉表

python - Pandas 的数据透视表或分组依据?

python - 使用数据透视表 pandas 后如何摆脱多级索引?