Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当将控制器传递给查看未定义变量:users(视图:C:\xampp\htdocs\site\resources\views\edit.blade.php)时,我收到未定义变量错误_Php_Laravel_Variables_Undefined - Fatal编程技术网

当将控制器传递给查看未定义变量:users(视图:C:\xampp\htdocs\site\resources\views\edit.blade.php)时,我收到未定义变量错误

当将控制器传递给查看未定义变量:users(视图:C:\xampp\htdocs\site\resources\views\edit.blade.php)时,我收到未定义变量错误,php,laravel,variables,undefined,Php,Laravel,Variables,Undefined,//这是我的控制器 public function edituser(Request $request,$id){ $user=User::find($id); $user->name=$request->name; $user->email=$request->email; $user->role_id=$request->role_id; $users=User::all(); return view(

//这是我的控制器

public function edituser(Request $request,$id){

    $user=User::find($id);
    $user->name=$request->name;
    $user->email=$request->email;
    $user->role_id=$request->role_id;

    $users=User::all();

    return view('edit',compact('users'));
}
    <?php

namespace App\Http\Controllers;
use App\User;

use Illuminate\Http\Request;


class AdminController extends Controller
{


    public function delete($id){

        $delete=User::where('id',$id)->delete();

        if($delete){

                return redirect()-> back();
        }
    }


public function edit(){


        $users=User::all();

    return view('edit',compact('users'));
}

public function edituser(Request $request,$id){

        $user=User::find($id);
       $user->name=$request->name;
       $user->email=$request->email;
       $user->role_id=$request->role_id;

}
//这是刀片

<form action="{{route('edituser',['id'=>$user->id])}}" method="post">
@csrf
    <div class="form-row align-items-center">
        <div class="col-auto">
            <label class="sr-only" for="inlineFormInput">Adı</label>
            <input type="text" value="" class="form-control mb-2" id="inlineFormInput" placeholder="Adı">
        </div>

        <div class="col-auto">
            <label class="sr-only" for="inlineFormInputGroup">Emaili</label>
                <div class="input-group mb-2">
                    <input type="text" class="form-control" id="inlineFormInputGroup" placeholder="Emaili">
                </div>
        </div>


        <select class="mdb-select md-form">
            @foreach ($users as $user)
            <option>--Səlahiyyət seç---</option>
            <option value="1">{{$user->name}}</option>
            @endforeach
        </select>
更新:这是我的所有控制器

public function edituser(Request $request,$id){

    $user=User::find($id);
    $user->name=$request->name;
    $user->email=$request->email;
    $user->role_id=$request->role_id;

    $users=User::all();

    return view('edit',compact('users'));
}
    <?php

namespace App\Http\Controllers;
use App\User;

use Illuminate\Http\Request;


class AdminController extends Controller
{


    public function delete($id){

        $delete=User::where('id',$id)->delete();

        if($delete){

                return redirect()-> back();
        }
    }


public function edit(){


        $users=User::all();

    return view('edit',compact('users'));
}

public function edituser(Request $request,$id){

        $user=User::find($id);
       $user->name=$request->name;
       $user->email=$request->email;
       $user->role_id=$request->role_id;

}

您似乎在控制器上使用了错误的方法。
POST路由使用
edituser
方法,因此您应该在
edit
方法上使用users/compact code,因为GET路由正在使用该方法

将以下代码从
edituser
移动并放入
edit

$users = User::all();

return view('edit',compact('users'));
您的
edituser
方法可能如下所示:

public function edituser(Request $request,$id){

    $user = User::find($id);
    $user->name=$request->name;
    $user->email=$request->email;
    $user->role_id=$request->role_id;

    return view('edit',compact('user'));
}
请更新原始答案以显示这两种方法

public function edit($id) {
    $user = User::find($id);
    $users = User::all();
    return view('edit')->with(compact('user', 'users'));
}


public function edituser(Request $request, $id) {
    $user = User::find($id);
    $user->name = $request->name;
    $user->email = $request->email;
    $user->role_id = $request->role_id;

    $users = User::all();
    return view('edit')->with(compact('user', 'users'));
}

希望它能帮助您轻松解决问题。

您能回答问题并粘贴
AdminController@edit
方法?它是否使用相同的视图?在哪一行出现此错误?我剪切了此代码($users=User::all();返回视图('edit',compact('users'));和粘贴在编辑方法中,但它会产生相同的错误。请更新问题并添加整个控制器,这样我们可以更好地帮助您。在问题的底部,输入
update:--插入代码--
它可以工作,但它不能在表单和选择中工作。为什么?为什么我不能在表单和选择中使用$users with use foreach?所以我不能使用它循环对于选择选项,我不能在表单(选择选项)中使用$user变量。为什么?您知道吗?$user单个对象不是数组@foreach($users as$val){{{$val['name']}@endforeach或我不能将$users数组与foreach一起使用。为什么?当使用它时,给我未定义的变量error,我解决它。谢谢。它给了error,因为我在初始化foreach循环之前调用$user。