首页 > 解决方案 > 我怎样才能使 4 个链接到控制器?

问题描述

我正在我的 laravel 中建立一个新项目

我有的东西:

1- PostsController

2-后模型

3-路线:资源('posts','PostsController')

4-登录后,我有一个用于发布创建的创建按钮

单击它后,我有以下图像:

在此处输入图像描述

我的愿望:

我希望不改变整个项目或整个路线资源有这些:

登录后我想要 4 个这样的盒子(我做到了)

在此处输入图像描述

有了这个属性:

点击其中任何一个后,我可以根据他们的类型创建帖子

例如,如果我点击视频内容,我会进入一个包含 2 个表单的页面:喜欢标题视频并上传视频

在我点击文本内容后,我进入页面,就像我第一次向您展示的图像一样

这意味着如果我单击视频内容,资源路径将带我在 postcontroller 中创建方法并创建方法检查我是来自内容视频链接返回视图 (posts.create_video) 还是来自声音内容链接框返回视图(posts.create_video) content_sound) 等框

我该怎么做所有这些请帮助我谢谢

标签: laravelmodel-view-controller

解决方案


您可以将其结构如下:

  • [路线/web.php]

    Route::get('posts/create/{type}', 'PostController@create')->name('posts.create');
    Route::resource('posts', 'PostController')->except(['create']);
    
  • [后控制器]

    class PostController extends Controller
    {
        public function create($type)
        {
            if (in_array($type, ['sound', 'video', 'image', 'text'])) {
                return view("posts.content_{$type}");
            }
            abort(404);
        }
    }
    

推荐阅读