首页 > 解决方案 > 语法错误,使用 laravel 6 的意外“foreach”(T_FOREACH)

问题描述

我试图检索用户身份验证器,但它给了我错误syntax error, unexpected 'foreach' (T_FOREACH)

用户控制器.php

public function index()
    {
        $users = User::where('id',Auth::user()->id)->get();
        @foreach($users as $user){
            dd($users->name);
        }
         return view('users.index', ['users' => $users]);
    }

我也试试

public function index()
    {
        $users = User::where('id',Auth::user()->id)->get();
        @foreach($users as $user)
            dd($users->name);
        @endforeach
         return view('users.index', ['users' => $users]);
    }

标签: phplaravel

解决方案


@foreach @endforeach在刀片语法中使用,请在控制器中尝试以下语法

 public function index()
    {
        $users = User::where('id', Auth::user()->id)->get();
        foreach ($users as $user) {
            dd($user->name);
        }
        return view('users.index', ['users' => $users]);
    }

但是如果您使用主键查询,则存在误解,您可以通过find()以下方法轻松找到用户

$user = User::find(Auth::user()->id);
$name= $user->name;

推荐阅读