我试图从数据库中检索数据,但它告诉我Undefined variable$request



这是我的控制器,我有一个方法请求,用于从数据库中检索日期,然后用视图压缩变量。

<?php
namespace AppHttpControllersAdmin;
use AppHttpControllersController;
use IlluminateHttpRequest;
use AppModelsgeneralForm;
use DB;
use AppModelsAdmin;
use IlluminateSupportFacadesAuth;
class AdminController extends Controller
{
function check(Request $request){
//Validate Inputs
$request->validate([
'email'=>'required|email|exists:admins,email',
'password'=>'required|min:5|max:30'
],[
'email.exists'=>'This email is not exists in admins table'
]);
$creds = $request->only('email','password');
if( Auth::guard('admin')->attempt($creds) ){
return redirect()->route('admin.home' );

}else{
return redirect()->route('admin.login')->with('fail','Incorrect credentials');
}
}

///here is the function that i mean////
public function requests(){
$request = generalForm::all();
return view('admin.home',compact('request'));
}
function logout(){
Auth::guard('admin')->logout();
return redirect('/');
}
}

在刀片中,我使用foreach,问题出现在这里,我想是因为它告诉我Undefined variable$request。为了找出问题,我对代码进行了多次检查,但一无所获。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="css/app.css" />
<title>Request</title>
@vite('resources/css/app.css')
@vite('resources/js/script.js')
</head>
<body>

<!--table-->
<section>
<div>
<h2 class="text-4xl font-bold text-center pb-16"> Apply Request</h2>
</div>
<div
class="container flex flex-col-reverse items-center px-6 mx-auto mt-10 space-y-0 md:space-y-0 md:flex-row"
>


<div class="table w-full p-2">
<table class="w-full border">
<thead>
<tr class="bg-red-700 border-b">

<th class="p-2 border-r cursor-pointer text-sm font-bold text-white">
<div class="flex items-center justify-center">
Name

</div>
</th>

<th class="p-2 border-r cursor-pointer text-sm font-bold text-white">
<div class="flex items-center justify-center">
Email

</div>
</th>

<th class="p-2 border-r cursor-pointer text-sm font-bold text-white">
<div class="flex items-center justify-center">
Action

</div>
</th>
</tr>
</thead>
<tbody>

@foreach($request as $item)   
<tr class="bg-gray-100 text-center border-b text-sm text-gray-600">

<td class="p-2 border-r">{{ $item->first_name }}</td>
<td class="p-2 border-r">{{ $item->email }}</td>
<td>
<a href="{{ url('/viewR')}}" class="bg-blue-500 p-2 text-white hover:shadow-lg text-xs font-thin">View</a>
<a href="#" class="bg-red-500 p-2 text-white hover:shadow-lg text-xs font-thin">Remove</a>
</td>
</tr>


@endforeach   

</tbody>
</table>
</div>
</div>
</section>
</body>
</html>

在web.php中,这些是路由。

Route::prefix('admin')->name('admin.')->group(function(){

Route::middleware(['guest:admin','PreventBackHistory'])->group(function(){
Route::view('/login','dashboard.admin.login')->name('login');
Route::post('/check',[AdminController::class,'check'])->name('check');
});
Route::middleware(['auth:admin','PreventBackHistory'])->group(function(){
Route::view('/home','dashboard.admin.home')->name('home');
Route::post('/logout',[AdminController::class,'logout'])->name('logout');
});
});

也许你可以用这个来代替,

return view('admin.home',['request' => $request]);

最新更新