带查询字符串的 Laravel 路由 url

2024-01-09

在 laravel 4 上,我可以使用 route() 帮助器生成带有查询字符串的 url。但在 4.1 上改为:

$url = url('admin.events', array('lang' => 'en'));
// admineventsurl/?lang=en

I get:

$url = url('admin.events', array('lang' => 'en'));
// admineventsurl/en

我做了一些研究,所有生成 url 的 Laravel 方法都使用这样的参数。如何使用查询字符串生成 url?


拉拉维尔的route() and action()辅助方法支持 URL 查询参数。这url()不幸的是,辅助方法没有。

只需向路由参数提供一个包含 key => value 对的数组即可。例如:

route('products.index', ['manufacturer' => 'Samsung']);

// Returns 'http://localhost/products?manufacturer=Samsung'

您还可以在这些参数中包含您的路线参数(例如 ID 和型号):

route('products.show', [$product->id, 'model' => 'T9X']);

// Returns 'http://localhost/products/1?model=T9X'

基本上,数组中包含字符串键的任何元素都将被视为查询参数(/products?param=value)。任何具有整数数组键的内容都将被视为 URL 参数(/products/{arg}).

操作方法也支持这一点:

action('ProductController@index', ['manufacturer' => 'Samsung']);

您还可以在内部提供查询参数link_to_route() and link_to_action()方法:

link_to_route('products.index', 'Products by Samsung', ['model' => 'Samsung');

link_to_action('ProductController@index', 'Products by Samsung', ['model' => 'Samsung']);

2019 - 编辑:

如果你不能使用route() or action(),您可以使用以下命令生成带有查询参数的 URLArr::query() helper:

url('/products?').\Illuminate\Support\Arr::query(['manufacturer' => 'Samsung']);

// Returns 'http://localhost/products?manufacturer=Samsung'

Or:

url('/products?').http_build_query(['manufacturer' => 'Samsung'], null, '&', PHP_QUERY_RFC3986);

// Returns 'http://localhost/products?manufacturer=Samsung'

或者创建一个简单的辅助函数:

use Illuminate\Support\Arr;
use Illuminate\Support\Str;

function url_query($to, array $params = [], array $additional = []) {
    return Str::finish(url($to, $additional), '?') . Arr::query($params);
}

然后调用它:

url_query('products', ['manufacturer' => 'Samsung']);

// Returns 'http://localhost/products?manufacturer=Samsung'

url_query('products', ['manufacturer' => 'Samsung'], [$product->id]);

// Returns 'http://localhost/products/1?manufacturer=Samsung'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带查询字符串的 Laravel 路由 url 的相关文章

  • 将资源文件链接到 Laravel4 中的视图

    您好 我是新手 正在学习 laravel 4 创建应用程序 我正在尝试使用 laravel Blade 将 twitter bootstrap3 文件链接到视图 我安装了一个新的 laravel 应用程序文件夹 为了从 url 路径中删除
  • Laravel Valet 不工作。 127.0.0.1 连接被拒绝

    试图让代客泊车设置正常工作 当访问 127 0 0 1 时 连接被拒绝 这是我在访问 dev 站点设置之一时收到的消息 我已经确保 apache 已停止 并且一直在谷歌上搜索所有地方 但无法找到解决方案 有没有人遇到过这个或对下一步尝试什么
  • TCPDF 为一个文档中的不同页面设置不同的页眉

    有没有办法使文档中第一页的页眉徽标和第二页的页眉徽标不同 我认为在添加页面之间更改标题数据可能会解决问题 但在我的测试中 添加第一页后设置标题似乎没有效果 other stuff pdf gt setHeaderFont array PDF
  • 如何使用 facebook 用户登录我的网站?

    我想知道 facebook 如何让用户登录我们的网站 我的意思是用户需要注册到我的网站才能发表评论 我如何通过我的 php 代码检查它是否是登录用户 我听说你只能用javascript检查它是否是登录用户 感谢您的任何解释 您可以使用脸书
  • 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,了解使用 nea 的正确语法[重复]

    这个问题在这里已经有答案了 我收到这个错误 ERROR ERRORINSERT INTO new comp reg phno fullname address dept desc VALUES 您的 SQL 语法有错误 检查与您的 Mari
  • localhost/test.php 不返回任何内容

    我正在遵循教程构建一个网络应用程序 我创建了一个简单的test php网络空间中的文件 var www html 问题是当我输入localhost test php在浏览器地址窗口中 它返回一个空页面 我试过localhost php in
  • 在 WooCommerce 中检查购物车中的多个产品 ID

    我使用以下代码来检查产品 ID 是否在购物车中 如果是 则添加额外的结帐字段 add action woocommerce after order notes conditional checkout field function cond
  • PHP 时区问题 |英国夏令时和格林威治标准时间

    我开发了一个应用程序 它记录某些记录的修改和创建时间 所以基本上我们使用time 保存更改时进行记录的功能 我在英国 所以我的时区必须是 GMT 然而在英国 我们使用夏令时 所以在夏天我们不再使用格林尼治标准时间 而是使用英国夏令时 我如何
  • 使用服务帐户插入 Google 日历条目

    我正在尝试使用服务帐户在 Google 日历上创建条目 我真的很接近这一点 但最后一行行不通 我得到一个500 Internal Service Error当我让它运行时 否则 程序运行时不会出错 无论其价值如何 The Calendar
  • 如何简单地检查服务器PHP版本是否为5或以上?

    我正在为程序创建预安装清单 该程序需要 PHP5 因此我需要检查列表脚本来检查 PHP5 的可用性 有一个函数为phpversion 将以以下格式返回5 3 6或类似的 然而 我希望清单非常简单 只是告诉你是或否 所以显示当前版本对我没有多
  • drupal 7 将实际内容存储在数据库中的哪里?

    我打开了 drupal 7 的数据库并在表中查找node node revisions and node types并且找不到 drupal 存储实际的位置body节点 内容 的 有人有线索吗 哦 我刚刚找到了 在 D7 中 他们实现了字段
  • 如何在 Symfony 和 Doctrine 中实现 ManyToMany 和 OneToMany?

    我发现该文档在解释实体之间关系的创建方面非常糟糕 因此 我必须向我的 StackExchangers 同胞寻求帮助 所以 我正在尝试构建以下案例 Case 1 A User属于一个或多个Group and a Group可以有很多Permi
  • PHP 使用今天的日期生成一个随机数

    我正在尝试为内容块 在网页上 分配一个随机生成的数字 该数字基于今天的日期 无论是什么 和固定数字 由于某种原因 输出的数字种类存在巨大差异 例如 当我在本地测试我的代码时 生成的数字对我来说足够好 正数 但在实际的实时服务器上时 它们通常
  • 找时间通过 PHP 执行 MySQL 查询

    我在互联网上看到过这个问题 here http www phpbuilder com board showthread php t 2100256 and here http answers yahoo com question index
  • php_network_getaddresses: getaddrinfo 失败: 名称或服务未知 (0) 连接失败..!

    我正在使用 php 邮件程序功能 但出现以下错误 如何修复它 2016 01 22 06 15 48 SMTP 错误 无法连接到服务器 php network getaddresses getaddrinfo失败 名称或服务未知 0 连接失
  • 控制器 HMVC 内的 CodeIgniter 负载控制器

    我在用着http github com philsturgeon codeigniter template http github com philsturgeon codeigniter template 对于模板 我尝试将其他控制器视图
  • 简单来说,Laravel IoC 容器是什么?

    谁能用简单易懂的语言解释依赖注入和 IoC 容器 因为我是 Laravel 的初学者 谢谢 答案变得比我最初想要的要长 我提供了一些背景信息 不过 如果您正在寻找短期解释 请阅读 IoC 容器的第一段和粗体段落 依赖注入 依赖注入是一种设计
  • PHP 7.2 计数错误

    警告 count 参数必须是数组或对象 实现 Countable in 我在以下行中收到上述错误 if 0 gt count this gt xprop 有人可以帮助我理解这一点吗 我对 PHP 还很陌生 问题显然是 this gt xpr
  • IMAP 和 PHP - 从已发送文件夹和收件箱文件夹中获取所有电子邮件

    我正在尝试获取接收和发送的所有电子邮件 并使用 PHP 将其写入 mySQL 数据库 我使用的主机名是 hostname imap gmail com 993 imap ssl INBOX 它仅引用收件箱 并成功抓取收到的电子邮件 为了抓取
  • CodeIgniter加入选择为

    我的数据库中有 2 个表需要加入 一张表是 artikelen 表 另一张表是 Collections 表 我目前有 this gt db gt select this gt db gt from collecties this gt db

随机推荐

  • 将向量与轴对齐的旋转矩阵的不精确性

    我已经用头撞墙几个小时了 我似乎不明白我做错了什么 我试图生成一个旋转矩阵 它将向量与特定轴对齐 我最终将转换更多数据 因此旋转矩阵很重要 我觉得我的方法是正确的 如果我在各种向量上测试它 它是有效的很不错 但变换后的向量是总是有点偏离 这
  • 移植与移植

    The 发布公告 http www infoq com news 2011 11 hg20Mercurial 2 0 提到了一个新的graft命令 乍一看类似于移植延伸 这两者有什么区别 移植樱桃采摘是否解决了移植所存在的任何问题 如果解决
  • 单例工厂方法

    工厂方法中是否可以有单例 我有很多使用工厂方法的域 我该如何解决这个问题 请帮我举个例子 在此示例中 我相信您会希望同步 getInstance 方法 以确保两个线程不会同时进入该方法 否则 两个线程可能会出现在实例化单例的块内 这是非常有
  • Javassist 使用 jar 文件

    如何将 jar 文件添加到 javassist 的搜索路径并使其正常工作 我正在尝试修改 jar 文件而不先解压然后重新加载 import javassist class Injector public static void main S
  • 使用 Dapper dot net 映射域实体的私有属性

    在我的大多数项目中 我使用 nHibernate Fluent 映射 最近我开始尝试使用 Dapper 看看是否可以将读取操作移至其中 我遵循 DDD 方法 因此我的域实体没有任何公共设置器 例如 public class User pri
  • 在 Xcode 4.2 的 Storyboard UIView 中使用静态单元

    我正在尝试使用 Xcode 4 2 中的 Storyboard 设计器创建一个非常基本的登录屏幕 我想要一个分组表视图来包含登录名和密码字段 视图上还有一些其他元素 例如登录按钮 忘记密码链接等 此外 当输入字段具有焦点时 应该能够点击背景
  • ODP.net 连接池:ClientID、客户端标识符从第一个登录的用户开始不会改变

    Scenario 我们有一个应用程序在 ASP net 应用程序中使用 Oracle 10g 和最新版本的 ODP net 我们利用 OracleConnection 对象上的 ClientID WriteOnly 属性将特定的 UserI
  • 如何禁用 ckeditor 中的保存按钮?

    我当前不需要 ckeditor 中的任何 ajax 功能 如何从工具栏中删除该按钮 如果我不禁用该保存按钮 当我单击该按钮时 我会收到奇怪的错误 我遵循了本教程 http docs cksource com CKEditor 3 x Dev
  • “不提供名为‘工具提示’的导出”,即使我可以输出工具提示

    当这段代码运行时 index svelte import Chart Tooltip from chart js auto esm console log Tooltip Tooltip已成功输出到控制台 但我也收到错误 在浏览器中 请求的
  • 我可以仅对特定列使用 worksheet_change 吗?

    这是我所拥有的 我使用包含 3 个值的下拉列表来隐藏列 每个值都有其唯一的特定列 当选择一个值时 我需要隐藏与其不关联的其他列 我使用了以下代码 Private Sub Worksheet Change ByVal Target As Ra
  • “if (@available(iOS 13.0, *))” 无法在 Xcode 10.3 中编译

    我有这样的代码 if available iOS 13 0 if getMetalDevice supportsFamily MTLGPUFamilyApple3 pixelFormat MTLPixelFormatBGRA10 XR el
  • 如何在 EF Core 中使用表值参数?

    我们在 SQL Server 数据库中有自定义类型 CREATE TYPE dbo UniqueIdentifiers AS TABLE Identifier UNIQUEIDENTFIER 该类型的目的是将其用于查找具有提供的标识符的记录
  • 在 jqgrid 中拖放行

    我正在尝试对 jqgrid 中的行进行拖放选项 我试过这个fiddle http jsfiddle net QEzhr 298 非常感谢任何宝贵的建议 我尝试过 jQuery mytable gridDnD 并且还与 jQuery myta
  • 如何防止用户在反应中多次点击登录表单的提交按钮错误?

    我使用formik和react router dom进行react登录管理 但如果短时间内多次点击提交按钮 重定向到首页后会出现以下错误 警告 无法对已卸载的组件执行 React 状态更新 这是一个无操作 但它表明应用程序中存在内存泄漏 要
  • 代码块 10.05 中的程序参数文本框不可见

    我的环境是ubuntu 11 10 当我尝试调试程序并在程序参数文本框中添加程序参数时 我发现它被挤成一行 而且没有办法让它变得更宽 类似的问题是否困扰过您 我在windows下检查 在同一个地方确实有一个文本框 而且我检查了我的wxWid
  • C# 如何解决Web客户端上传文件“远程服务器返回错误:(405)方法不允许。”?

    您好 我想将本地的 html 文件上传到服务器中的远程文件夹 该文件夹包含带有 geoserver 元素的数据目录 这是我的代码 public void CopyWS string SourcePath string Destination
  • 提取 .Rmd 文件的 html 依赖项(包含 htmlwidgets)

    Question 我如何创建一个函数 它将 Rmd 文件 包含 htmlwidgets 代码 作为输入 并输出包含其 JavaScript CSS 依赖项的 html 文件 具体来说 临时文件 rmarkdown 为 pandoc 生成 i
  • 保护网站管理部分的最佳实践是什么? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我想知道人们认为保护网站管理部分的最佳实践是什么 特别是从身份验证 访问的角度来看 当然 有一些显而易见的事情 例如使用 SSL 和记录所有访问 但我
  • 使用 C++11 将我的比较函数传递给 std::multiset

    我有一个 std multiset 它存储 std pair 我希望第一个属性对唯一性没有限制 但我希望第二个属性是唯一的 因此 我决定将我自己的函数传递给 multiset 以实现此目的 如果没有 请告诉我 基于this https st
  • 带查询字符串的 Laravel 路由 url

    在 laravel 4 上 我可以使用 route 帮助器生成带有查询字符串的 url 但在 4 1 上改为 url url admin events array lang gt en admineventsurl lang en I ge