【发布时间】:2019-11-28 03:32:21
【问题描述】:
嘿,所以我正在尝试做一个 upvote downvote 系统,我只使用 1 个表,表列是
$table->increments('id');
$table->integer('user_id')->unsigned();
$table->foreign('user_id')->references('id')->on('users');
$table->integer('voter_id')->unsigned();
$table->foreign('voter_id')->references('id')->on('users');
$table->boolean('vote_type')->default(0);
$table->integer('commentable_id');
$table->string('commentable_type');
$table->string('unique_vote')->unique();
基本上,我试图计算评论有多少票,但只计算vote_type is == 1 的投票数,以及值为0 的downvotes 的反面
我正在考虑使用 2 个不同的表来执行此操作,因为这样会使计数更容易,但我也不想要大型数据库。
我知道{{$comment->votes->count()}},但无论 vote_type 值如何,它都会返回总行数,我想知道是否有人有解决方案或知道一种方法,同时保持低查询。
【问题讨论】:
-
我不知道 laravel,但我敢打赌它在查询中有一个
->where()函数,允许您过滤行。