Группировка по количеству слов в таблице преобразования Laravel 5.3

#php #laravel #laravel-5.3

#php #laravel #laravel-5.3

Вопрос:

Мне нужно подсчитать, сколько слов в каждой конкретной категории. Так, например, в моем случае я делаю это прямо сейчас, чтобы подсчитать, сколько слов в конкретном списке.

 @if (str_word_count($stats->description) < 250)
     0 - 249
@elseif(str_word_count($stats->description) >= 250 amp;amp; str_word_count($stats->description) <= 500)
    250 - 500
@elseif(str_word_count($stats->description) >=  501 amp;amp; str_word_count($stats->description) <= 750)
    500 - 750
@else
    750 
@endif
  

В конце у меня есть таблица, в которой мне нужно подсчитать по каждой категории. Вот так:

 <table class="table table-condensed table-responsive">
                        <thead>
                            <tr>
                                <th class="text-center" colspan="6">Conversion Rate For Word Count</th>
                            </tr>
                            <tr>
                                <th>0 - 249 words</th>
                                <th>250 - 500 words</th>
                                <th>500 - 750 words</th>
                                <th>750   words</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <td></td>
                                <td></td>
                                <td></td>
                                <td></td>
                            </tr>
                        </tbody>
                    </table>
  

Как мне посчитать все списки, содержащие 0 -249 слов и так далее?

Ответ №1:

Будет ли что-то подобное работать для вас?

PHP

 $counts = ['0-249'=>0, '250-499'=>0, '500-749'=>0, '750 '=>0];
@if (str_word_count($stats->description) < 250)
     $counts['0-249']  ;
@elseif(str_word_count($stats->description) >= 250 amp;amp; str_word_count($stats->description) <= 500)
    $counts['250-499']  ;
@elseif(str_word_count($stats->description) >=  501 amp;amp; str_word_count($stats->description) <= 750)
    $counts['500-749']  ;
@else
    $counts['750 ']  ;
@endif
  

HTML

                 <table class="table table-condensed table-responsive">
                    <thead>
                        <tr>
                            <th class="text-center" colspan="6">Conversion Rate For Word Count</th>
                        </tr>
                        <tr>
                            <th>0 - 249 words</th>
                            <th>250 - 499 words</th>
                            <th>500 - 749 words</th>
                            <th>750   words</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td><?php echo $counts['0-249']; ?></td>
                            <td><?php echo $counts['250-499']; ?></td>
                            <td><?php echo $counts['500-749']; ?></td>
                            <td><?php echo $counts['750 ']; ?></td>
                        </tr>
                    </tbody>
                </table>