8

我有一个集合(任务),我想在可能刀片模板里面算上只完成的任务。

前任。总任务 = 7

完成的任务总数 = 2

正在进行的任务总数 = 5

我试试

{{ count($tasks->completed = 100) }}

它有效,但如果我尝试

{{ count($tasks->completed < 100) }}

我有一个错误。

有什么帮助吗?

对不起,我是laravel的新手。

(拉拉维尔 5.0)

更新

我需要展示如下内容:

已完成 (2) / 正在进行 (5)。

在我的控制器中,我有:

public function index()
{
    $tasks = Task::All();
    $completed = $tasks->where('completed', 100);
    //I dunno how...
    $inprogress = ...;
    return view('pages.projects', compact('projects', 'tasks', 'completed', 'inprogress'));
}  

在数据库中,任务表有一个“已完成”(整数)列,我用它来检查任务的状态(0% 到 100%,100% 已完成)。

4

1 回答 1

21

我认为您没有使用正确的方法来执行此操作。您正在一个函数中进行计数和比较。

刀片比较

@if($tasks->completed->count() == 100)
    <p>This is shown if its 100</p>
@else
    <p>This is shown if its not 100</p>
@endif

或者这个:

@if($tasks->completed->count() < 100)
    <p>This is shown if its smaller than 100</p>
@else
    <p>This is shown if its 100 or bigger</p>
@endif

(更新:)刀片中的过滤收集和计数:

$tasks = Task::all();
$completed = $tasks->where('completed', 100);
$inprogress = $tasks->filter(function ($task) {
    return $task['completed'] < 100; // Or $task->completed if its an object
});

return view('pages.projects', compact('projects', 'tasks', 'completed', 'inprogress'));

显示刀片中的计数:

<p>{{ $completed->count() }} completed</p>
<p>{{ $inprogress->count() }} in progress</p>
于 2015-11-26T11:32:14.237 回答