У моего веб-сайта есть отправленные материалы, и у этих отправлений есть голоса.
В таблице SubmissionVotes значения Upvotes хранятся в виде крошечного знака в столбце «голосование» как 1
, а значения downvotes хранятся как -1
.
В моей Submission.php
модели есть отношение hasMany к модели голосования.
public function votes() {
return $this->hasMany('App\SubmissionVote', 'vote');
}
В моем шаблоне блейда я вычисляю сумму этих голосов:
{{ $submission->votes->sum('vote') }}
Теперь это работает нормально, если есть только голоса против.Три отзыва проголосуют за 3 балла.
Но с учетом 3 голосов с понижением и 3 голосов с возвратом сумма должна возвращаться 0, однако, возвращается 3.
Другими словами, считается -1 как0.
Редактировать:
Странное развитие.Когда я смотрю, что возвращает $submission->votes
, результаты выдаются только с положительными числами.
Например:
[{"id": 13, "user_id": 2, "submission_id": 1, "voice": 1}, {"id":22, "user_id": 3, "submission_id": 1, "voice": 1}]
, но при просмотре базы данных я также вижу отрицательные голоса: 