[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Ari Lima Souza
Criador Ari Lima Souza 03/08/2018

Boa noite,

 

Mestre como faço para ter um CHECK de aula vista... tipo após assitir a aula ter um ícone informando que o usuario assitiu a aula...eu utilizo o IFRAME de vídeo do vimeo...teria como me ajudar ?

Manager Carlos Ferreira 03/08/2018

Olá, Ari!
Como vai?

Primeiro passo é registrar as views das aulas. Crie uma tabela views, com as colunas: user_id (usuário que assistiu), count (quantidade de views), lesson_id (id da aula que foi assistida)

Sempre que um aluno assistir uma nova aula você dispara um evento, e registra a views (incrementa a quantidade! Se tiver dúvidas como incrementar o count me retorna. Ok?)
Veja sobre eventos no Laravel: https://blog.especializati.com.br/aprenda-como-trabalhar-com-eventos-no-laravel/

No model da aula (Lesson) precisa criar o relacionamento (One to One) com o Model View para trazer as views de uma aula. Importante! Nesse relacionamento você pode filtrar pelo usuário logado, veja um exemplo:
public function view()
{
    $user = ( auth()->check() ) ? auth()->user()->id : null;
    return $this->hasOne(View::class)->where('user_id', $user);
}

No momento de trazer uma aula por exemplo, pode fazer assim:
#controller
$lesson = Lesson::with('view')->where('id', $idLesson)->first();

Se for buscar aulas por módulo por exemplo:
$modulos = Modulo::with('lessons.view')->where('id', $idModulo)->first();
dd($modulos);

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

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!