Vau*_*ter 6 php laravel laravel-blade
基本上,我在我的数据库中有一个简单的'exp'列,我想使用一个函数'showLevel()',我可以将其Auth::user->username作为参数而不是静态名称传入.我正在努力解决如何在模板上使用echo或使用对象的函数.
public function index()
{
    $users = User::all();
    $level = $this->showLevel('test');
    return view('home')->with('users', $users)->with('showLevel', $level);
}
public function showLevel($username) {
    $level = DB::table('users')->where('username', $username)->pluck('exp');
    if ($level < 500) {
        return 1;
    } else if ($level > 500 && $level < 1000) {
        return 2;
    } else if ($level > 1000 && $level < 1500) {
        return 3;
    } else if ($level > 1500 && $level < 2000) {
        return 4;
    } else if ($level > 2000 && $level < 2500) {
        return 5;
    } else if ($level > 2500) {
        return 'MAX';
    }
}
我试着在home.blade.php中创建一个对象.
$level = new HomeController;
$level->showLevel(Auth::user->username);
但这似乎不起作用.你可以在刀片中传递物体吗?我一直试图自己查看,但也许我写错了.我被卡住了!
我基本上希望能够{{ showLevel(Auth::user->username); }}在home.blade.php中执行某些操作来回显从函数返回的级别.
是的,您可以将对象传递给刀片.您使用紧凑方法来实现:
return view('home')->with(compact('users'));
在您的刀片中,您可以访问以下用户:
@if ($users)
   @foreach($users as $user)
      {{ $user->name }}
   @endforeach
@endif
尝试这样的事情:
use Auth;
$level = new HomeController();
$data = $level->showLevel(Auth::user()->username);
和返回刀片::
 return view('home')->with(['data'=>$data]);
现在,在您的刀片中您可以使用 $data
| 归档时间: | 
 | 
| 查看次数: | 24146 次 | 
| 最近记录: |