Laravel 5.0 blade 模板和 count() 条件
Laravel 5.0 blade template and count() conditions
我有一个 collection(任务),我想计算里面可能 blade 模板只完成了任务。
例如。
总任务 = 7
完成的任务总数 = 2
正在进行的任务总数 = 5
我试试
{{ count($tasks->completed = 100) }}
它有效,但如果我尝试
{{ count($tasks->completed < 100) }}
我收到一个错误。
有什么帮助吗?
抱歉,我是 laravel 的新手。
(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'));
}
在数据库中,任务 table 有一个 'completed'(整数)列,我用它来检查任务的状态(0% 到 100%,100% 已完成)。
我认为您使用的方法不正确。您在一个函数中进行计数和比较。
比较 blade
@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
(更新:)过滤 collection 并在 blade 中计数:
$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'));
在您的 blade 中显示计数:
<p>{{ $completed->count() }} completed</p>
<p>{{ $inprogress->count() }} in progress</p>
我有一个 collection(任务),我想计算里面可能 blade 模板只完成了任务。
例如。 总任务 = 7
完成的任务总数 = 2
正在进行的任务总数 = 5
我试试
{{ count($tasks->completed = 100) }}
它有效,但如果我尝试
{{ count($tasks->completed < 100) }}
我收到一个错误。
有什么帮助吗?
抱歉,我是 laravel 的新手。
(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'));
}
在数据库中,任务 table 有一个 'completed'(整数)列,我用它来检查任务的状态(0% 到 100%,100% 已完成)。
我认为您使用的方法不正确。您在一个函数中进行计数和比较。
比较 blade
@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
(更新:)过滤 collection 并在 blade 中计数:
$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'));
在您的 blade 中显示计数:
<p>{{ $completed->count() }} completed</p>
<p>{{ $inprogress->count() }} in progress</p>