Laravel проблема маршрута перенаправляет ошибку 404 - PullRequest
1 голос
/ 26 марта 2020

У меня проблема, я сделал систему поддержки, и когда я захочу зайти на страницу, где я смотрю тикет, я получу 404 не найденных. В основном это маршрут идентификатора в базе данных.

Маршруты:

Route::get('/viewTickets', 'TicketController@view_MyTickets')->name('viewTickets');

Route::get('/viewTickets/{ticket}', 'TicketController@view_MyTicketUpdate')->name('updateTicket');

Route::post('/viewTickets/{ticket}', 'TicketController@update_MyTicket');

Контроллер:

public function view_MyTickets() {
    $tickets = Ticket::latest()->get();
    return view('viewTickets', compact('tickets'));
}

public function view_MyTicketUpdate() {
    $tickets = Ticket::latest()->get();
    return view('updateTicket', compact('tickets'));
}

Просмотр:

<tbody>
             @foreach($tickets as $ticket)
                <tr>
                    <td>{{$ticket->id}}</td>
                    <td>{{$ticket->user_id}}</td>
                    <td>{{$ticket->title}}</td>
                    <td>{{$ticket->category}}</td>
                    <td>{{$ticket->status}}</td>
                    <td>
                    <form>
                        <a href="{{ $ticket->id }}" class="view" title="View" data-toggle="tooltip"><i class="material-icons">&#xE417;</i></a>
                        <a href="{{ $ticket->id }}"lass="edit" title="Edit" data-toggle="tooltip"><i class="material-icons">&#xE254;</i></a>

                    </td>
                </form>
                </tr>
             @endforeach
        </tbody>

Я действительно не понимаю проблему, способ решить и не получил ошибку 404? Кстати, я прочитал другие темы и не смог найти решение.

Ответы [ 2 ]

1 голос
/ 26 марта 2020

На вашем маршруте:

Route::get('/viewTickets', 'TicketController@view_MyTickets')->name('viewTickets');
Route::get('/viewTickets/{ticket}', 'TicketController@view_MyTicketUpdate')->name('updateTicket');
Route::post('/viewTickets/{ticket}', 'TicketController@update_MyTicket');

На вашем контроллере:

public function view_MyTickets() {
    $tickets = Ticket::latest()->get();
    return view('viewTickets', compact('tickets'));
}

public function view_MyTicketUpdate(Request $request, $ticket) {
    $tickets = Ticket::find($ticket);
    return view('updateTicket', compact('tickets'));
}

На вашем клинке:

<tbody>
 @foreach($tickets as $ticket)
    <tr>
        <td>{{$ticket->id}}</td>
        <td>{{$ticket->user_id}}</td>
        <td>{{$ticket->title}}</td>
        <td>{{$ticket->category}}</td>
        <td>{{$ticket->status}}</td>
        <td>
            <a href="{{ route('viewTickets', ['ticket' => $ticket->id])  }}" class="view" title="View" data-toggle="tooltip"><i class="material-icons">&#xE417;</i></a>
            <a href="{{ route('updateTicket', ['ticket' => $ticket->id])  }}"lass="edit" title="Edit" data-toggle="tooltip"><i class="material-icons">&#xE254;</i></a>

        </td>
    </tr>
 @endforeach
</tbody>
0 голосов
/ 26 марта 2020

Ссылка, которую вы устанавливаете в атрибуте href, является только идентификатором заявки, но это должно быть, например, "/ viewTickets / 1"

Попробуйте указать это:

href="{{route('updateTicket', ['ticket' => $ticket->id])}}"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...