Não consigo pegar o owner dentro do model User...
[Finalizado Pelo Aluno]
Eu consegui fazer para que nas mensagem seja exibido o nome 'Eu' ao invez do nome usuario logado...tranguilo... consegui apenas fiz um ternario...e deu certo, portanto quando tenta pegar no arquivo Users.vue a propriedade usuario.owner ele não traz...contudo acessando o Vue devtools percebi que ele não esta trazendo a propriedade owner no array state.users apenas no state.messages...como faço para incluir esta propriedade owner tambem no array state.users?
Salve Alessandro!
Tudo bem?
Me mostra um print dos dados no Vue DevTools, para que eu possa entender melhor como está organizado os seus dados, assim posso te guiar da melhor forma (https://uploaddeimagens.com.br/).
No aguardo.
https://uploaddeimagens.com.br/imagens/traz_o_owner-png AQUI ELE TRAZ O OWNER
https://uploaddeimagens.com.br/imagens/nao_owner-png
Não entendi o propósito de ter a propriedade owner em state.users
A propriedade owner precisa estar ligada a mensagem que é referente ao usuário autentificado, assim conseguimos detacar a mensagem, como foi feito no curso.
Ola então pra ficar mais facil como faço para quando o usuario acessar a aplicação ali aonde fica o nome dos usuarios online ao invéz de ficar exibindo o nome do usuario logado aparece a palavra 'EU' ?
Existe uma forma mais fácil de fazer isso.
No arquivo de view que é o nosso template (app.blade.php) passe o ID do usuário logado, assim:
window.Laravel = {!! json_encode([
'csrf' => csrf_token(),
'pusher' => [
'key' => config('broadcasting.connections.pusher.key'),
'cluster' => config('broadcasting.connections.pusher.options.cluster'),
],
'user' => auth()->check ? auth()->user()->id : '',
])
Agora para conseguir recuperar o id do usuário autenticado nos arquivos de js basta usar o objeto window, assim:
window.Laravel.user
Agora lá no vuex (chat.js) no método que adiciona um novo usuário ao vuex você pode deixar assim:
JOINING_USER (state, user) {
if (user.id == window.Laravel.user)
user.name = 'EU'
state.users.push(user)
},
Ola tudo bem não sei se é um erro, mas ali 'user' => auth()->check ? auth()->user()->id : '',
FALTOU COLOCAR NO CHECH O PARENTESES: 'user' => auth()->check() ? auth()->user()->id : '',
E infelizmente ainda não apareceu o nome 'Eu' continuou normal...
Está correto essa lógica, veja aqui: https://github.com/especializati/curso-laravel-notifications-gratuito/blob/master/resources/views/layouts/app.blade.php
Debuga no vuex JOINING_USER as variáveis, e analisa o conteúdo de cada uma:
JOINING_USER (state, user) {
console.log(window.Laravel.user)
console.log(user)
console.log(user.id == window.Laravel.user)
// [...]
},
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!