#php #database #laravel #laravel-7
#php #База данных #laravel #laravel-7
Вопрос:
Мне нужно подсчитать количество открытых заданий и отобразить их в представлении. Открыто 6 заданий. мне нужно отобразить 6 в зеленом поле. пожалуйста, смотрите вложение
<!-- opend job view -->
<!-- ./col -->
<div class="col-lg-3 col-6">
<!-- small box -->
<div class="small-box bg-success">
<div class="inner">
<h3>53<sup style="font-size: 20px">%</sup></h3>
<p>Opened</p>
</div>
<div class="icon">
<i class="fas fa-box-open"></i>
</div>
<a href="opened" class="small-box-footer">More info <i class="fas fa-arrow-circle-right"></i></a>
</div>
</div>
<!-- opend job controler-->
public function open_count ()
{
$pend_counts = Job::where('state','Closed')->count();
// return view('jobs.closed_job',compact('closed'));
// $count = AppFlight::where('active', 1)->count();
}
<!-- Route-->
Route::get('/open_c','JobController@open_count');
Комментарии:
1. вам нужно извлечь количество строк из таблицы базы данных. Вы должны записать эту логику в свой контроллер
Ответ №1:
Вы должны получить количество в вашем контроллере и передать его в представление (не забывайте об этом):
public function open_count ()
{
$opened_counts = Job::where('state','Closed')->count();
//Add the $opened_counts variable to the compact function
return view('jobs.closed_job',compact('opened_counts'));
}
Затем в вашем блейд-файле вы можете вызвать {{$opened_counts}}
переменную для отображения.
<div class="col-lg-3 col-6">
<!-- small box -->
<div class="small-box bg-success">
<div class="inner">
<h3> {{$opened_counts}} <sup style="font-size: 20px">%</sup></h3>
<p>Opened</p>
</div>
<div class="icon">
<i class="fas fa-box-open"></i>
</div>
<a href="opened" class="small-box-footer">More info <i class="fas fa-arrow-circle-right"></i></a>
</div>
</div>
Если вам нужен процент, а не абсолютное значение, вы можете изменить контроллер на (вам также нужно будет обработать ошибку разделения на 0):
public function open_count ()
{
$opened_counts = Job::where('state','Closed')->count();
$percentage = $opened_counts / Job::all()->count();
//Add the $opened_counts variable to the compact function
return view('jobs.closed_job',compact('opened_counts', 'percentage'));
}