Функция запроса Laravel делает ошибку на маршруте - PullRequest
0 голосов
/ 28 января 2019

У меня есть функция запроса внутри 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')}} , на экране отображается неправильный URL http://localhost/web/dashboardгде это должно быть http://api.local/web/dashboard и когда я пытаюсь использовать {{Request :: сегмент (2)}} это показывает 'teacher' позже я понимаю этопроисходит от функции учителя на DashboardController , у которого есть запрос на него.Когда я удаляю эту функцию учитель и ученик, {{route ('dashboard')}}} показывать нормально: http://api.local/web/dashboard

Почему функция запроса в контроллере влияет на маршрут?и как это решить?Спасибо.

1 Ответ

0 голосов
/ 28 января 2019

1.) Чтобы изменить URL-адрес приложения, вы можете сделать это в файле .env, изменив APP_URL с http://localhost на http://api.local

2.) Причина, по которой вы видите teacher после использования {{ Request::segment(2) }} это потому, что ваш второй url "path" на самом деле teacher.Например, если у вас есть URL /api/test/hello, тогда второй сегмент будет test, третий сегмент будет hello, первый сегмент будет api и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...