Laravel GET Route ruft falsche Klassenfunktion aufPhp

PHP-Programmierer chatten hier
Guest
 Laravel GET Route ruft falsche Klassenfunktion auf

Post by Guest »

Ich lerne Laravel in einem bestehenden 11.29.0-Projekt.
Ich habe zwei Routen definiert:

Code: Select all

//api.php

Route::get('/items/approved', [ItemController::class, 'approved']);

Route::get('/items/{id}', [ItemController::class, 'show']);
In meinem Controller habe ich Folgendes:

Code: Select all

//ItemController.php

namespace App\Http\Controllers;
use Illuminate\Http\Resources\Json\AnonymousResourceCollection;
use App\Http\Resources\ItemResource;

class ItemController extends Controller{

//MARK: Approved
public function approved(): AnonymousResourceCollection
{
error_log('inside approved');

//...
}

//MARK: Show
public function show($id): ItemResource|JsonResponse
{
error_log('inside show');

//...
}
}

Wenn ich eine GET-Anfrage an /items/approved mache, wird immer die Funktion show($id) aufgerufen.
Sollte die Tatsache, dass /items/approved vor /items/{id} steht, es nicht so machen Die Funktion „approved()“ wird aufgerufen? Was übersehe ich?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post