Como mostrar que o aluno assistiu a aula
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 ?
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);
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!