<?php

namespace App\Model;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;

class Tema extends Model
{
    use SoftDeletes;
    protected $table = "tema";

    protected $dates = ['created_at','deleted_at'];

    protected $fillable = [
        'nombre',
        'id_categoria',
        'id_usuario'
    ];

    public function comentarios()
    {
        return $this->hasMany('App\Model\Comentario','id_tema')
            ->select('id_tema');
    }

    public function usuario()
    {
        return $this->belongsTo('App\Model\User','id_usuario')
            ->select('id', 'nombres', 'apellido_paterno', 'apellido_materno');
    }

    public function favoritos()
    {
        return $this->hasMany('App\Model\TemaFavorito','id_tema')
            ->select('id_tema','id_usuario');
    }

    public function scopeInfo($query)
    {
        return $query->with('comentarios', 'usuario','favoritos');
    }

    public function scopeMisFavoritos($query) {
        return $query->join('tema_favorito', function($join) {
            $join->on('tema_favorito.id_tema', '=', 'tema.id')
                ->where('tema_favorito.id_usuario', \Auth::user()->id);
        })->select('tema_favorito.id AS fav_id','tema.id','tema.id_usuario','tema.nombre','tema.created_at')->with('comentarios','usuario');
    }
}
