【问题标题】:How to count rows of database and show it at laravel 5.4 view?如何计算数据库的行数并在 laravel 5.4 视图中显示?
【发布时间】:2017-04-30 15:20:58
【问题描述】:

我是 laravel 的新手。我正在使用 laravel 5.4 开发新的 Web 应用程序。我想计算数据库中的数据数量并在视图中显示结果。所以,我在控制器中使用了这段代码:

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

请解决此错误。

【问题讨论】:

  • 你不应该计算两次(在你的控制器中,然后在视图中)。第一个(在控制器中)应该足够了。
  • 这是两种不同的情况,这就是我计算两次的原因,无论如何我认为这不是问题所在。我的问题是如何在视图中显示结果而不出现该错误!
  • 你在执行这两个函数吗?它们各自返回相同的视图。
  • 我有一列叫做(is_done),它的一些数据是0,另一个是1,我想在一个div显示“0”数据,在另一个div显示“1”数据但两者的观点相同。这就是为什么我做了两个函数。
  • @Y.EzzEldin 这行不通,我给出了答案,但我不确定你的意思是不是这个。

标签: php database laravel laravel-5.4


【解决方案1】:
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,将计数更改为uploadImgCount。

【讨论】:

  • 它给出了同样的错误:“未定义的变量:bendingImgCount”。在调用它之前我是否必须在视图中定义变量?如果是,我不知道怎么做!
【解决方案2】:

首先你检查你在控制器哪里得到正确的数据 你只是简单的

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]);
}

并检查你是否得到正确答案。

【讨论】:

  • 根本没有结果!
【解决方案3】:

我在浏览器中得到正确的计数

1.控制器页面:

2.web.php页面:

3.网络浏览器:

如果您甚至没有得到正确的值,那么只需显示您的整个页面代码。 谢谢。

【讨论】:

    【解决方案4】:

    试试这个:

    在控制器中:

    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
    

    【讨论】:

      猜你喜欢
      • 2017-12-05
      • 2017-07-31
      • 2014-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多