여기 내 코드입니다 : 그것은 논리적으로 잘 작동Laravel에서 어떻게자가 참여할 수 있습니까?
$role_id = Auth::user()->role_id;
$related = Page::where('path', $request->path())->where('method', $_SERVER["REQUEST_METHOD"])->first()->related;
$pages = Page::where('related', $related)->get();
foreach ($pages as $page){
$accessGiven = page_role::where('role_id', $role_id)->where('page_id', $page->id)->first();
if (sizeof($accessGiven) > 0) {
return $next($request);
}
}
return redirect('/');
하지만 거대한 데이터 세트에 대한 약간 느립니다. 알다시피, 그것은 실제로 미들웨어이며 대부분의 요청 전에 실행됩니다.
어쨌든 2 행과 3 행을 결합하여 하나의 쿼리를 만들 수 있다고 생각합니다. 어떤 생각을 어떻게 할 수 있습니까? 이 예에서
하나의 쿼리에서'$ related'와'$ pages'에 참여하고 싶습니까? –
@HirenGohel 내 프로젝트에서 일부 페이지는 서로 관련이 있습니다. 이제는 하나의 페이지를 식별하여 관련 페이지를 모두 얻고 싶습니다. 'related' 열은 관련 페이지를 지정합니다. * (관련된 모든 페이지는 동일한 번호를 가짐) * – stack