【问题标题】:Laravel - Can the route and model have different namesLaravel - 路线和模型可以有不同的名称吗
【发布时间】:2015-09-23 19:35:35
【问题描述】:

我的 laravel 应用程序有一个模型 - 视频。它是主要模型,因此路线被命名为 videos。但开发后发现生产服务器上有一个文件夹,名为videos

所以现在重写 url 以在 .htaccess 中包含 index.php 不起作用。

我无法更改已经存在的视频文件夹的名称。 我也无法更改数据库表名。我不想那样做,工作量太大。 有没有办法将路线名称更改为 lvideos 或 vvideos 之类的其他名称? 我尝试在路线中更改它,但似乎还有其他地方我必须更改它。它在控制器中引发了一个错误。 任何人都可以为此提出解决方案吗?

我不想将 index.php 的链接提供给用户

谢谢。

【问题讨论】:

  • 您必须更改路线以及引用路线的任何位置。
  • “它在控制器中引发了一个错误”,究竟是什么错误?
  • 运行控制器时遇到什么错误?

标签: php apache .htaccess laravel laravel-5


【解决方案1】:

您将不得不在任何被引用的地方更改路线。

将来如果您认为路由可能会更改,您可以使用命名路由,然后在需要使用它的任何地方引用路由名称。

例如:

Route::group(['prefix' => 'videos'], function() {
    Route::get('/', [
        'uses' => 'VideosController@index',
        'as'   => 'videos.index',
    ]);
    Route::get('{id}', [
        'uses' => 'VideosController@show',
        'as'   => 'videos.show',
    ]);
});

然后在使用这些路由的任何地方都使用名称,例如在视图中:

<a href="{{ route('videos.index') }}">Videos</a>

即使您将路线更改为Route::group(['prefix =&gt; 'iVideos']);,链接仍然有效。即使路线更改了,名称也没有。

【讨论】:

    猜你喜欢
    • 2023-04-09
    • 1970-01-01
    • 2013-12-12
    • 2020-07-08
    • 2013-01-01
    • 2017-04-03
    • 1970-01-01
    • 2021-06-07
    • 1970-01-01
    相关资源
    最近更新 更多