Laravel中的重用控制器 /模型



我想重复使用我的代码,这样我就不会重复自己。我制作了后控制器和邮政模型。现在,我想创建管理视图页面,在这里我可以在其中弄乱我的帖子。问题是在这里如何将posttroller重复使用到我的管理员视图?

提到我是Laravel的新手


use IlluminateHttpRequest;
use AppPost;
class PostsController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return IlluminateHttpResponse
     */
    public function index()
    {
        $posts = Post::all();
        return view('posts.post', compact('posts'));
    } ...

namespace AppHttpControllers;
use AppAdmin;
use IlluminateHttpRequest;
use AppHttpControllersPostsController;
class AdminController extends PostsController
{
    public function index()
    {
        $posts = Post::all();
        return view('admin.index', compact('posts'));
    }
}

如果要使用单个postcontroller进行前端和管理员,则必须检查当前登录的后卫是 admin> admin user to渲染视图:

use IlluminateHttpRequest;
use AppPost;
use IlluminateSupportFacadesAuth;
  class PostsController extends Controller
  {
     public function index()
     {
        $posts = Post::all();
        @if(Auth::guard('admin')->check())
           return view('admin.index', compact('posts'));
        @elseif(Auth::guard('user')->check())
           return view('posts.post', compact('posts'));
        @endif
     } 
 }

最新更新