Laravel вызывает метод, отличный от указанного в функции Route - PullRequest
0 голосов
/ 20 октября 2018

У меня проблемы с чем-то, что я просто не могу объяснить.Я работаю с laravel и просто пишу маршрут для метода get, ничего страшного, но для этого маршрута я вызываю метод с именем generatefile , а laravel вызывает мой index метод, который не имеет смысла.Это мой код.

ReportController

<?php

  namespace App\Http\Controllers;

  use Illuminate\Http\Request;
  use App\ReportTypes;
  use App\Report;
  use App\Hardware;
  use App\Customer;
  use App\User;
  use App\ReportNotes;
  use DB;
  use PDF;

  use Illuminate\Support\Carbon;

  class ReportController extends Controller
   {
    public function index($type){

    $data = new ReportTypes;

    $datatype = $data->getData($type);

    $hm = $datatype->report_type_includes_hardware ? true : false;

    $customers = Customer::all();

    $users = User::all();

    $report = new Report;

    $reports = $report->getData($type);

    if($hm){

        $models = Hardware::all();

        return view('report/types/index',compact('datatype','hm','models','customers','users','reports'));

    }

    return view('report/types/index',compact('datatype','hm','reports','customers','users'));


}

public function generatefile(){

    $data = ['title' => 'Welcome to HDTuto.com'];

    $pdf = PDF::loadView('myPDF', $data);

    return $pdf->download('hdtuto.pdf');

}

public function details($type, $folio){

    $data = new ReportTypes;

    $datatype = $data->getData($type);

    $report_notes = new ReportNotes;

    $type_id = DB::table('report_types')->where('report_type_serie','=',$type)->get()->first();

    $report = DB::table('reports')->where([
        ['FK_report_type_id','=',$type_id->PK_report_type_id],
        ['report_folio','=',$folio]
    ])->first();



    $notes = $report_notes->getData($report->PK_report_id);

    return view('report/types/details',compact('datatype','notes','report'));

}

public function store(Request $request){

    $report = new Report;
    $data = new ReportTypes;

    $report->FK_report_type_id = $request->RPType;
    $report->report_folio = $data->nextFolio($request->RPType);
    $report->FK_customer_id = $request->RPCustomer;
    $report->FK_hardware_model_id = $request->RPHardware;
    $report->FK_creator_user_id = $request->RPCreator;
    $report->FK_responsable_user_id = $request->RPResp;
    $report->FK_assistant1_user_id = $request->RPAssist;
    $report->FK_report_state_id = 1;
    $report->report_issue = $request->RPIssue;
    $report->report_description_issue = $request->RPDescIssue;
    $report->report_created_at = Carbon::now();
    $report->report_attended_at = Carbon::now();
    $report->report_updated_at = Carbon::now();
    $report->report_finished_at = Carbon::now();

    $report->save();

    $data->incrementFolio($request->RPType);

    return redirect()->route('reports',$request->RPTypeSerie);

   }
}

Мой маршрут

Route::get('reports/getfile','ReportController@getfile')->name('report.generatefile');
Route::get('reports/{type}','ReportController@index')->name('reports');

И когда я пытаюсь получить доступ к этому маршруту, я получаю это:

enter image description here

Я получаю сообщение об ошибке в методе индекса, но я не вызываю его.

Может кто-нибудь объяснить, пожалуйста, мнепочему это происходит?

Ответы [ 3 ]

0 голосов
/ 20 октября 2018

Сначала , проверьте route.php, если нет повторяющегося URI маршрута с тем же методом Route::get('reports/getfile'... или именем маршрута ->name('report.generatefile').

Возможно, у вас есть 2 повторяющихся маршрута, и вы используете маршрут, который использует ReportController@index.

Секунда , getFile функция, похоже, несуществуют в вашем ReportController, который вы используете в своем маршруте:

Route::get('reports/getfile','ReportController@getfile')->name('report.generatefile');

0 голосов
/ 20 октября 2018

Можно попробовать

php artisan passport:install --force
0 голосов
/ 20 октября 2018

Поставьте свой маршрут, прежде чем индексировать маршрут и попробуйте.Вы можете проверить этот вопрос: Проблемы маршрута Laravel с порядком маршрута в web.php

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