laravel - 如何在 Laravel 4 中将路由值传递给 Controller ​​?

标签 laravel laravel-4

我正在努力理解一些事情,我相信你们中的一个人能够轻松地解释这一点。我对 MVC 有点陌生,所以请耐心等待。

我创建了一个 Controller ,用于处理连接到 Twitter API 并将返回的 JSON 处理为 HTML 所涉及的所有工作。

Route::get('/about', 'TwitterController@getTweets');

然后我使用:

return View::make('templates.about', array('twitter_html' => $twitter_html ))

在我的 Controller 中将生成的 HTML 传递到我的 View ,一切正常。

我的问题是,我有多个页面,用于在每个页面上显示不同 Twitter 用户的推文。我想要做的是将一个值数组(twitter 句柄)传递给我的 Controller ,然后它将在 API 调用中使用。我不想做的是为每个用户组使用不同的 Controller 。如果我在 Controller 中设置 $twitter_user_ids ,我可以使用该数组来提取推文,但我想设置该数组并以某种方式将其传递到 Controller 中。我想会有类似的东西

Route::get('/about', 'TwitterController@getTweets('twitter_id')');

但是最后一个不起作用。

我相信我的问题在某种程度上与变量作用域有关,但我可能偏离了。

我是不是走错了路?如何向我的 Controller 传递不同的数据集以产生不同的结果?

编辑 - 更多信息

马库斯建议使用路线参数,但我不确定这是否适合我的目的。这是我的具体用例。

我有一个“关于”页面,它将从 Twitter API 中提取我的推文并将其显示在页面上。 我还有一个“推文”页面,可以从多个开发者帐户中提取最新的推文并显示它们。

在这两种情况下,我的 $twitter_user_ids = array() 数组中都有不同的值。

我构建的 Controller 采用该用户名数组并访问 API 并生成传递到我的 View 的 HTML。

因为我正在使用一个数组(其中第二个是一个大数组),所以我认为路由参数不起作用。

再次感谢您的帮助。没有你们,我不可能做到这一点!

最佳答案

首先,这是一个快速提示:

而不是

return View::make('templates.about', array('twitter_html' => $twitter_html ))

...使用

return View::make('templates.about', compact('twitter_html'))

这会自动为您创建 $twitter_html。在 PHP Manual 中查看.

 

现在解决你的问题:

你的路线部分做错了。尝试:

Route::get('/about/{twitter_id}', 'TwitterController@getTweets');

这会将 twitter_id 参数传递给您的 getTweets 函数。

查看 Laravel 文档:http://laravel.com/docs/routing#route-parameters

关于laravel - 如何在 Laravel 4 中将路由值传递给 Controller ​​?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18166751/

相关文章:

Php Laravel 比较 2 个数组值

php - Laravel 4 显示 MethodNotAllowedHttpException

php - 拉拉维尔 5.7 : Detecting duplicates in a collection based on multiple keys (done) but how to move dupes to another collection?

php - 与 Eloquent 的 3 方枢轴连接

Laravel 在包中注册种子

php - 拉维尔 5.1 : How to limit account access so one account can be accessed at one time

laravel - 我如何在 Laravel 4.2 中为多个开发人员使用一条 git 路线

Laravel 4 应用程序在作为 Facebook 应用程序运行时出现错误

laravel - Eloquent 关系 - 附加(但不保存)到 Has Many

php - 在 laravel 4.2 中获取大量数据