我在DashboardController内部具有请求功能以使用自己的API。
public function index()
{
$total_student = $this->student();
$total_teacher = $this->teacher();
return view('dashboard.index', compact(
'total_student',
'total_teacher'
));
}
function student()
{
$request = Request::create('/api/student', 'GET');
$response = app()->handle($request);
return $response->getData()->total;
}
function teacher()
{
$request = Request::create('/api/teacher', 'GET');
$response = app()->handle($request);
return $response->getData()->total;
}
一切都很好,但是我意识到当我在视图上使用 {{route('dashboard')}} 时,显示的网址错误 http://localhost/web/dashboard 应该为 http://api.local/web/dashboard ,当我尝试使用 {{Request :: segment(2)}} 时,稍后会显示'teacher'我意识到它来自 DashboardController 上的教师功能,该功能对此有要求。当我删除该职能的老师和学生时, {{route('dashboard')}} 显示正常: http://api.local/web/dashboard
为什么控制器中的请求功能会影响路由?以及如何解决呢?谢谢。
答案 0 :(得分:1)
1。)要更改应用程序网址,您可以在.env
文件中执行此操作,方法是将APP_URL
从http://localhost
更改为http://api.local
2。)使用teacher
之后看到{{ Request::segment(2) }}
的原因是因为第二个url "path"
实际上是teacher
。例如,如果您的网址为/api/test/hello
,则第二段为test
,第三段为hello
,第一段为api
,依此类推。>