具有可变前缀和 where 条件的 Laravel 路由组

标签 laravel

我想在 Laravel 中创建一个以变量作为前缀的路由组。我也需要设定一些条件。如何正确执行?

我正在关注文档:https://laravel.com/docs/8.x/routing#route-group-prefixes但只有一般的例子。

此代码应创建 2 条路线:/{hl}/test-1/{hl}/test-2其中 {hl}限于(en|pl) ,但它给出了一个错误:"Call to a member function where() on null"

Route::prefix('/{hl}')->group(function ($hl) {

    Route::get('/test-1', function () {
        return 'OK-1';
    });

    Route::get('/test-2', function () {
        return 'OK-2';
    });

})->where('hl','(en|pl)');

最佳答案

group 调用不返回任何内容,因此没有可链接的内容。如果您在调用 group 之前进行 where 调用,类似于您调用 prefix 的方式,那么当您调用 group 它将把它级联到组中的路由上:

Route::prefix('{hl}')->where(['h1' => '(en|pl)'])->group(function () {
    Route::get('test-1', function () {
        return 'OK-1';
    });

    Route::get('test-2', function () {
        return 'OK-2';
    });
});

关于具有可变前缀和 where 条件的 Laravel 路由组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68913539/

相关文章:

php - 如何更改 laravel excel 中所有单元格的高度和宽度

javascript - 在一页中加载多个视频

javascript - 如何使用 AJAX 基于数据库中的值创建动态复选框?

laravel - 有没有一种方法可以使用 Laravel 构建项目,但将核心文件与我的站点文件分开?

php - Laravel Passport 密码授予 - 客户端身份验证失败

php - 在子查询中传递两个参数

php - Laravel 外键迁移引用字符串问题

laravel - Laravel 默认命令在哪里?

php - 如何在 iOS Swift 3 中像 laravel encrypt() 方法一样加密 AES 256 CBC

php - Laravel 4 中的事务和事件