Как подсчитать строки базы данных и показать их в представлении laravel 5.4?

Я новичок в ларавеле. Я работаю над новым веб-приложением, используя laravel 5.4. Я хочу подсчитать количество данных в базе данных и показать результат. Итак, я использовал этот код в контроллере:

public function bending_img(){
    $counts = requestImg::where('is_done', '=', '0')->count();
    return view('/dashboard')->with(['counts'=> $counts]);
}

public function uploaded_img(){
    $count = requestImg::where('is_done', '=', '1')->count();
    return view('/dashboard')->with(['count'=> $count]);
}

и на виду:

@if(count($counts)== 0)
         no call record to be viewed
@else
         <div class="huge">{{$counts}}</div>
@endif

@if(count($count)==0)
         no call record to be viewed
@else
         <div class="huge">{{$count}}</div>
@endif

но есть ошибка: undefined variable.

Пожалуйста, устраните эту ошибку.


person Y.EzzEldin    schedule 30.04.2017    source источник
comment
вы не должны считать это дважды (в вашем контроллере, а затем снова в представлении). Первого (в контроллере) должно быть достаточно.   -  person Douwe de Haan    schedule 30.04.2017
comment
Это два разных случая, поэтому я считаю это дважды, в любом случае я не думаю, что это проблема. Моя проблема заключается в том, как показать результат без этой ошибки!   -  person Y.EzzEldin    schedule 30.04.2017
comment
Вы выполняете обе функции? Каждый из них возвращает одно и то же представление.   -  person Jan Wytze    schedule 30.04.2017
comment
У меня есть один столбец с именем (is_done), некоторые из его данных равны 0, а другие - 1, я хочу показать данные 0 в div и данные 1 в другом div, но оба в одном и том же представлении. поэтому я сделал две функции.   -  person Y.EzzEldin    schedule 30.04.2017
comment
@Y.EzzEldin Это не сработает, я дал ответ, но я не уверен, что вы это имеете в виду.   -  person Jan Wytze    schedule 30.04.2017
comment
выдает ту же ошибку: Неопределенная переменная: BendingImgCount . Есть ли проблема при вызове функции?   -  person Y.EzzEldin    schedule 30.04.2017
comment
каков путь твоего взгляда?   -  person Amr Aly    schedule 30.04.2017
comment
Это полный путь: localhost/img_store/public/dashboard. поэтому я написал это в контроллере: ('/dashboard')   -  person Y.EzzEldin    schedule 30.04.2017


Ответы (4)


public function bendingImgCount() {
    return requestImg::where('is_done', '0')->count();
}

public function uploadedImgCount() {
    return = requestImg::where('is_done', '1')->count();
}

public function showDashboard() {
    $bendingImgCount = $this->bendingImgCount();
    $uploadedImgCount = $this->uploadedImgCount();

    return view('/dashboard')->with(compact(['bendingImgCount', 'uploadedImgCount']));
}

Вызовите функцию showDashboard и измените в представлении счетчики на BendingImgCount и количество на uploadedImgCount.

person Jan Wytze    schedule 30.04.2017
comment
Выдает ту же ошибку: Неопределенная переменная: BendingImgCount . Должен ли я определять переменную в поле зрения, прежде чем вызывать ее там? Если да, то я не знаю как! - person Y.EzzEldin; 30.04.2017

Сначала вы проверяете, откуда вы получаете правильные данные на контроллере. Вы просто

public function bending_img(){
    $counts = requestImg::where('is_done', '=', '0')->count();
    dd($counts);
    return view('/dashboard')->with(['counts'=> $counts]);
}

public function uploaded_img(){
    $count = requestImg::where('is_done', '=', '1')->count();
    dd($count);
    return view('/dashboard')->with(['count'=> $count]);
}

И проверьте, получили ли вы правильный ответ или нет.

person Brijesh Dubey    schedule 30.04.2017
comment
вообще никакого результата! - person Y.EzzEldin; 30.04.2017

Я получаю правильный счет в браузере

1. Страница контроллера:

введите здесь описание изображения

2.web.php Страница:

введите здесь описание изображения

3.Веб-браузер: введите здесь описание изображения

Если вы даже не получаете правильное значение, просто покажите весь код страницы. Спасибо.

person Brijesh Dubey    schedule 01.05.2017

ПОПРОБУЙ ЭТО:

В контроллере:

public function bending_img(){
    $counts = requestImg::where('is_done', '=', '0')->count();
    return view('/dashboard')->with('this_is_it', $counts);
}

public function uploaded_img(){
    $count = requestImg::where('is_done', '=', '1')->count();
    return view('/dashboard')->with('count_1',$count);
}

С учетом:

@if(count($this_is_it)== 0)
         no call record to be viewed
@else
         <div class="huge">{{$this_is_it}}</div>
@endif

@if(count($count_1)==0)
         no call record to be viewed
@else
         <div class="huge">{{$count_1}}</div>
@endif
person kamal    schedule 10.11.2017