所以我知道通过控制器传递变量,例如,如果它是一个查询数组我会做
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
答案 0 :(得分:0)
如果有其他人在寻找它,我找到了解决问题的方法。
public function getLastOnlineAttribute($value)
{
$fiveMinsAgo = \Carbon\Carbon::now()->subMinute(5);
$thirtMinsAgo = \Carbon\Carbon::now()->subMinute(30);
$lastOnline = \Carbon\Carbon::createFromTimeStamp(strtotime($value))->diffForHumans();
if ($value <= $fiveMinsAgo) {
echo 'Last Active: '.$lastOnline.'';
}
else {
echo 'Online Now';
}
}
基本上将此添加到您的变量模型中(例如,如果它是$ user-&gt; last_online它将进入用户模型),如果您一直在寻找更多信息,它被称为雄辩的变异器,{{ 3}}
它抓取变量的数据,例如{{$ user-&gt; last_online}}
请注意,Underscore在函数名称中转换为CamelCase,输出设置为$ value,然后您可以在函数内部设置变量并按照您的意愿模拟输出,然后在刀片中可以摆脱所有额外的废话,只需使用{{$ user-&gt; last_online}}