【发布时间】:2016-07-08 21:53:32
【问题描述】:
所以我知道通过控制器传递变量,例如,如果它是一个查询数组,我会这样做
public function index()
{
$query = Request::get('q');
if ($query) {
$users = User::where('username', 'LIKE', "%$query%")->get();
}
return view('view', compact('users'));
}
当我在刀片上时,我会这样做
@if( ! empty($users))
@foreach($users as $user)
{{ $user->username }}
@endforeach
@endif
现在我的问题是如何使用 foreach 中的变量设置变量?目前我在刀片模板文件中使用 PHP,但我觉得这很乱,这就是我所拥有的
@if( ! empty($users))
@foreach($users as $user)
<?php
$lastOnline = \Carbon\Carbon::createFromTimeStamp(strtotime($user->last_online))->diffForHumans();
$fiveMinsAgo = \Carbon\Carbon::now()->subMinute(5);
?>
{{ $user->username }}
@if ($user->last_online <= $fiveMinsAgo)
{{ $lastOnline }}
@else
Online Now
@endif
@endforeach
@endif
【问题讨论】:
-
谢谢,所以我的意思是有没有办法从控制器或视图而不是刀片设置这些?从你链接我的内容来看,我只是用 {{-- */ 换掉了
-
Blade 没有任何办法。所以,我认为这是最好的选择。
-
我个人认为注释风格的变量声明比在视图中使用纯 PHP 更加混乱。到目前为止,后者是我解决它的方式。
标签: php templates variables blade laravel-5.2