我正在创建一个api,任何人都可以通过这个api查看页面,但是只有管理员才能看到所有的帖子,而用户只被限制在批准的范围内。这是通过is_verified布尔变量实现的,其中admin的值为1,用户的值为0。我想创建一个像这样的函数
public function show(){
if(Auth::check()){
$showAllDetails = Events::all();
echo $showAllDetails;
}else {
$showUserDetails = Events:all()->where('is_verified',1);
echo $showUserDetails;
}
}但是,只有在我的路线中有圣所api的情况下,Auth:check才能工作。
Route::middleware('auth:sanctum')->group(function () {
Route::get('view', [ViewController::class, 'show']);
});如果我在Hoppscotch上运行这段代码,它只显示管理程序是否已登录(用户不需要登录)。所以用户看不到任何帖子。如果我删除了auth:sanctum中间件,那么只有代码的其他部分运行,并且无法运行auth检查或任何东西。
我需要一种将两者结合在一个功能中的方法,这样我就可以创建一个单一的路径,而不是为不同的人创建两条路径。有办法做这样的事吗?
发布于 2022-07-08 10:00:12
public function show(){
if(Auth::check()){
$showAllDetails = Events::all();
echo $showAllDetails;
}else {
$showUserDetails = Events::where('is_verified',1)->get();
echo $showUserDetails;
}
}我想您的其他部分是不正确的查询,更改您的其他部分如上。
https://stackoverflow.com/questions/72909550
复制相似问题