Quando Usando QueryBuilder ou EloquentRepository
[Concluído]
Carlos, estou usando repository, onde eu devo declarar o metodo permissionAvailable()?
Na ProfileInterfaceRepository, ou EloquentProfileQueryBuilder ou na Model?
O que muda?
Olá, Jefferson!
Tudo bem?
A interface (ProfileRepositoryInterface) ela tem apenas a assinatura dos métodos que a implementação deve ter.
No seu repository (ProfileRepository) que implementa a interface, ele deve conter a implementação do método permissionAvailable
Ficou claro amigo?
Sim, ficou sim. Criei no meu EloquentProfileRepositor.php o method permissionAvailable().
Mas recebo este erro de volta:
Illuminate\
Esta é a query que está me retornando:
select * from `profiles` where `id` not in (select `permission_profile`.`permission_id` from `permission_profile` where permission_profile.profile_id=)
(corrigi o nome da coluna permission_id e ainda esta com erro)
select * from `profiles` where `id` not in (select `permission_profile`.`permission_id` from `permission_profile` where permission_profile.profile_id=)
select * from `profiles` where `id` not in (select `permission_profile`.`permission_id` from `permission_profile` where permission_profile.profile_id=)
select * from `profiles` where `id` not in (select `permission_profile`.`permission_id` from `permission_profile` where permission_profile.profile_id=)
select * from `profiles` where `id` not in (select `permission_profile`.`permission_id` from `permission_profile` where permission_profile.profile_id=)
No Banco de dados funciona normalmente
Troque isso: $query->select('permissions_id');
Por isso: $query->select('permissions.id');
Veja como deve ficar: https://github.com/especializati/larafood/blob/master/app/Models/Profile.php#L31
Realmente o meu agora esta identico ao seu, mas o problema não é esse.
Identifiquei que o problema está em recuperar o ID do profile.
No meu codigo eu informei isso pois estou usando o EloquentProfileRepository:
Mas ao fazer o DD ele me retorna NULL. O que gera o erro de syntax.
Se eu informar apenas isso abaixo, ocorre erro pois $this não faz referencia a nenhuma model.
Não sei como passar o ID para a query.
Consegui resolver Carlos. Muito Obrigado pela ajuda.
Minha solução foi passar o ID por parametro e depois usar na função de callback.
Aqui o código:
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!