【问题标题】:laravel routing in web.php for self referring table用于自引用表的 web.php 中的 laravel 路由
【发布时间】:2019-03-18 22:15:45
【问题描述】:

我正在使用 laravel 5.6 我有一个名为“目录”的自我引用表

$table->increments('id');
$table->integer('parent_id')->unsigned()->default(null)->nullable();
$table->string('folder', 64);
$table->timestamps();
$table->unique(['parent_id', 'folder']);

对于根目录,“parent_id”将为空

如何在 web.php 中创建资源路由?比如:

Route::resource('directory.childdirectory','DirectoryController')->name('directory', 'dir_root_id', 'dir_child_id');

是否有任何自引用关系的示例 CRUD?

如何在 web.php 中为自引用关系创建资源路由?

【问题讨论】:

    标签: laravel laravel-routing self-reference


    【解决方案1】:

    简而言之,自引用表的问题是如何将“父”和“子”ID 传递给控制器​​。我通过在路由表(laravel 5.6 的 web.php)中定义一个资源控制器和一个附加参数 {id}

    来做到这一点
    Route::resource('{id}/directory', 'directoryController');
    

    命令 php artisan route:list 看起来像下面的代码,其中 {id} 是父目录,{directory} 是子目录

    | POST      | {id}/directory                     | directory.store
    | GET|HEAD  | {id}/directory                     | directory.index
    | GET|HEAD  | {id}/directory/create              | directory.create
    | GET|HEAD  | {id}/directory/{directory}         | directory.show
    | PUT|PATCH | {id}/directory/{directory}         | directory.update
    | DELETE    | {id}/directory/{directory}         | directory.destroy
    | GET|HEAD  | {id}/directory/{directory}/edit    | directory.edit
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-22
      • 2021-02-03
      • 2019-01-14
      • 1970-01-01
      • 2021-12-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多