[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Douglas Desidério Salvador
Criador Douglas Desidério Salvador 18/07/2023

Boa tarde professor, tudo bom ?

 

Preciso implementar uma function na controller em que eu consiga buscar um curso por qualquer parte do nome.

Mas na hora da pesquisa ocorre o seguinte erro

App\Http\Controllers\Api\CatalogController::show(): Argument #1 ($sku) must be of type int, string given, called in /var/www/vendor/laravel/framework/src/Illuminate/Routing/Controller.php on line 54

 

Como se eu estivesse pesquisando por sku que no caso funciona bem.

 

Obrigado!!!

Coloquei dessa forma.

rota

Route::get('/catalog/{desc}', [CatalogController::class, 'showbydesc']);

Controller

 public function showbydesc(string $desc)
    {
        $desc = $this->catalogService->getProdutoByDesc($desc);

        return $desc;
    }
 

Service

public function getProdutoByDesc(string $desc)
    {
        return $this->repository->getProdutoByDescription($desc);
    }

Repository

public function getProdutoByDescription(string $desc)
    {
        return $this->entity->where('description', 'LIKE', '%' . $desc . '%')->get();
    }
Manager Carlos Ferreira 18/07/2023

Olá, Douglas!
Como vai?

O problema pode estar na ordem das rotas, porque está caindo no método show do controller CatalogController, muda a URL dessa rota, assim evita conflitos com a rota show;

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!