路由在调用控制器方法之前重定向
Route is redirecting before calling the controller method
我正在使用 Laravel 5.5.40 和 Zizaco\Entrust Pacakge
在我的 routes/web.php
文件中,我有以下路由设置。
Route::group(['prefix' => 'order'], function() {
Route::get('', 'OrderController@getMe');
});
它应该在 OrderController.php
中调用 getMe()
方法,但它却重定向到 www.mydomain.co.uk/home
namespace App\Http\Controllers;
class OrderController extends Controller
{
public function getMe() {
return "You got me!";
}
}
作为测试,我向 OrderController.php
添加了一个 __construct
函数,以查看 class 是否被加载。
public function __construct() {
dd("Testing");
}
当访问 www.mydomain.co.uk/order 我现在得到
"Testing"
我似乎无法弄清楚为什么它不是 运行 getMe()
方法。有人能对此有所启发吗?
我也尝试过更改路由以使用 ClientController@list
,效果很好。
ClientController.php
的内容
namespace App\Http\Controllers;
use App\Client;
class ClientController extends Controller
{
public function __construct() {
//
}
// Display all the clients
public function list() {
$tabContent = [
'display_type' => 'list',
'data' => Client::orderBy('name', 'asc')->get(),
'view_params' => [
'columns' => [
'name' => 'Client Name',
'address_line_1' => 'Address Line 1',
'town' => 'Town',
'county' => 'County',
'post_code' => 'Post Code'
],
'links' => 'client',
'controls' => True
]
];
return view('tables.list', ['data' => $tabContent]);
}
}
很明显,如果控制器中没有构造函数,它将自动重定向到 URI 的根目录,不会出错。
public function __construct() {
//
}
我正在使用 Laravel 5.5.40 和 Zizaco\Entrust Pacakge
在我的 routes/web.php
文件中,我有以下路由设置。
Route::group(['prefix' => 'order'], function() {
Route::get('', 'OrderController@getMe');
});
它应该在 OrderController.php
中调用 getMe()
方法,但它却重定向到 www.mydomain.co.uk/home
namespace App\Http\Controllers;
class OrderController extends Controller
{
public function getMe() {
return "You got me!";
}
}
作为测试,我向 OrderController.php
添加了一个 __construct
函数,以查看 class 是否被加载。
public function __construct() {
dd("Testing");
}
当访问 www.mydomain.co.uk/order 我现在得到
"Testing"
我似乎无法弄清楚为什么它不是 运行 getMe()
方法。有人能对此有所启发吗?
我也尝试过更改路由以使用 ClientController@list
,效果很好。
ClientController.php
namespace App\Http\Controllers;
use App\Client;
class ClientController extends Controller
{
public function __construct() {
//
}
// Display all the clients
public function list() {
$tabContent = [
'display_type' => 'list',
'data' => Client::orderBy('name', 'asc')->get(),
'view_params' => [
'columns' => [
'name' => 'Client Name',
'address_line_1' => 'Address Line 1',
'town' => 'Town',
'county' => 'County',
'post_code' => 'Post Code'
],
'links' => 'client',
'controls' => True
]
];
return view('tables.list', ['data' => $tabContent]);
}
}
很明显,如果控制器中没有构造函数,它将自动重定向到 URI 的根目录,不会出错。
public function __construct() {
//
}