[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Miqueias
Criador Miqueias 10/09/2021

Boa tarde professor, estou desenvolvendo uma aplicação de delivery para restaurantes com o Laravel.

Me interessei no Vue, pois por ser um sistema que será acessado grande parte das vezes pelo celular pelo usuário cliente do restaurante (ao visualizar o cardápio), seria interessante ter uma velocidade muito boa que o Vue proporciona (e também não quero que a tela fique recarregando no painel de controle do restaurante)

Porém quero continuar usando a estrutura de rotas do Laravel e começar a usar Vue, há alguma solução para isso?

Abraço! :)

Manager Carlos Ferreira 10/09/2021

Olá, Miqueias!
Tudo bem?

A comunicação entre o Laravel é Vue.js é através de APIs.

Acho que tenho exatamente os cursos que precisa: https://academy.especializati.com.br/buscar/food

Carlos Ferreira
Criador Miqueias 10/09/2021

Oi Carlos! Muito obrigado, estou pegando os dados em apis para depois implementar o VUE.

Desde que me respondeu estou pesquisando como pegar os dados (api) de um outro banco de dados (multi tenant).

Pois quando faço o seguinte comando:

Route::get('/user/{id}/categories'), function($id) {

 

}

 

Miqueias
Criador Miqueias 10/09/2021

ERRATA

 

Oi Carlos! Muito obrigado, estou pegando os dados em apis para depois implementar o VUE.

Desde que me respondeu estou pesquisando como pegar os dados (api) de um outro banco de dados (multi tenant).

Pois quando faço o seguinte código no api.php:

Route::get('/user/{id}/categories'), function($id) {

   return new CategoriaResource(Category::findOrFail($id);

}

 

O programa tenta pesquisar no meu banco de dados principal, não no tenant e gera um erro.

 

Sendo que a mesma lógica no web.php funciona perfeitamente, já que meu model "Category" faz connection ao database "tenant" e não ao "msql" principal.

 

Segue abaixo os códigos Model, Resource e api.php, nessa ordem respectavamente. 

 
Miqueias
Criador Miqueias 10/09/2021
--------- Model ----------
 
class Category extends Model
{
    use HasFactory;

    protected $connection = 'tenant';
    protected $table = "categories";

    use HasFactory;

    protected $fillable = [
        'title'
    ];
}
 
--------- Resource ---------
 
class CategoryResource extends JsonResource
{
    /**
     * Transform the resource into an array.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return array|\Illuminate\Contracts\Support\Arrayable|\JsonSerializable
     */

    public function toArray($request)
    {
        return [
            'id' => $this->id,
            'title' => $this->title,
        ];
        // return parent::toArray($request);
    }
}
 
--------- API.PHP ----------
 
Route::get('/user/{id}'function ($id) {
    return new UserResource(User::findOrFail($id));
});

Route::get('/user/{id}/categories'function ($id) {
    return new CategoryResource(Category::findOrFail($id));
});

 

 

Miqueias
Manager Carlos Ferreira 10/09/2021

Você tem o código no GitHub? E print do erro?

Esses resources são uma excelente prática amigo, mas deve usar Controllers no seu projeto, e não faz o response direto nas rotas.

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

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!