使用 Laravel 5.3,我正在尝试将我的部分 url 动态传递到控制器函数中,但到目前为止没有运气。当在页面上单击链接 http://127.0.0.1:8000 时,该 URL 将变为 http://127.0.0.1:8000/politics。如何将政治部分传递到控制器函数中?以下是我在我的
网络.php路由文件
Route::get('/{$category}', 'PostController@category');
后控制器.php文件
public function category($category)
{
$tag = $category;
$posts = Post::where('tag', '=', '{tag}');
return view('post', compact('posts'));
}
PHP工匠修补匠
Psy Shell v0.8.1 (PHP 5.6.16 ΓÇö cli) by Justin Hileman
>>> $tag = 'politics'
=> "politics"
>>> $post = AppPost::where('tag', '=', '{tag}')->get();
=> IlluminateDatabaseEloquentCollection {#671
all: [],
}
>>>
因此,在查看代码并在本地将小型演示放在一起之后,只有一个小原因可以解释为什么会失败。
{varName}
变量已经被识别为变量,因此您不需要像现在这样将其定义为$varName
({$category}
)
下面的代码应该给你一个工作的例子:
创建一个名为 DemoController
的控制器。
在此文件中放置以下内容:
public function demo($category)
{
dd($category);
}
在您的routesweb.php
路由文件中添加以下行"
Route::get('/mena/{category}', 'DemoController@demo');
现在,当您转到www.website.com/mena/politics
时,您应该看到它politics
打印到屏幕上。