Laravel Pivot表 - 如何用计数器增加第三个字段?

时间:2017-03-01 05:53:14

标签: mysql laravel laravel-5 eloquent pivot

大家好,想知道你是否可以帮助弄清楚这个雄辩的陈述应该是什么样的。这是非常具有挑战性的,至少对我而言,但也许不适合你们中的一些人?这是场景:

我有一个带有post_id和user_id的数据透视表,以及一个名为total_views的数据透视表。

基本上我想要做的是每次用户去查看特定帖子时增加视图。

这就是SQL的样子:

UPDATE post_user SET total_views = total_views+1 WHERE user_id=1 AND post_id=2

你如何用雄辩的陈述写出来?非常感谢能够提出解决方案的第一个!

2 个答案:

答案 0 :(得分:1)

DB::table('post_user')->increment('total_views');并在查询构建器中添加一些where子句。

eloquent 中,获取对象,更新值并保存。

$object = ModelName::find(1); ///use where clauses to get the record
$object->your_preferredColumn = $VALUE; //increment it here
$object->save(); //save the object

答案 1 :(得分:1)

 \DB::table('post_user')->where(['u‌​ser_id'=>$user->id, 'post_id'=>$post->id])->increment('total_views');

这对我有用。