Как получить 3 условия в Laravel - PullRequest
0 голосов
/ 21 сентября 2018

ребята, поэтому я хочу получить 3 условия в контроллере Laravel, поэтому я создаю пост с системой комментариев.Мой комментарий имеет 3 условия, из условия по умолчанию он получит value = 0, когда он будет одобрен, он получит value = 1, когда он будет отклонен, он даст value = 2.Я хочу получить 3 условия, чтобы посчитать, сколько это, потому что я хочу построить другое значение, например value = 3 или 4 или 5, для другого условия, поэтому я не буду использовать get all.

Вот мой код функции контроллера комментариев

private function getCountComment()
{
    $user = Auth::user();
    $comcount = $user->competitions;
    foreach ($comcount as $key => $value) {
        $count = Comment::where('id_post', $value->id)
                        ->where('is_accepted', '=', 0 AND 1 AND 3)
                        ->count();
        $comcount[$key]->comment_to_count = $count;
    }
    return $comcount;
}

Я пробую этот код, но получаю только первое условие is_accepted = 0.

Надеюсь, вы, ребята, можете мне помочь.

1 Ответ

0 голосов
/ 21 сентября 2018

Попробуйте этот код

private function getCountComment(){
    $user = Auth::user();
    $comcount = $user->competitions;
    foreach ($comcount as $key => $value) {
        $comcount[$key]->comment_to_count = Comment::where('id_post', $value->id)->whereIn('is_accepted', [0,1,3])->count();
    }
    return $comcount;
}

или вы можете

Comment::where('id_post', $value->id)->where(function($query) {
    $query->where('is_accepted', '=', 0)
        ->orWhere('is_accepted', '=', 1)
        ->orWhere('is_accepted', '=', 3)
})->count();
...