<?php

namespace App\Models;

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

class Restaurante extends Model
{
    use HasFactory, SoftDeletes;

    protected $fillable = [
        'nome',
        'descricao',
        'tipo_id',
        'latitude',
        'longitude',
        'endereco',
        'cidade',
        'estado',
        'horario_funcionamento',
        'status',
        'criado_por',
    ];

    protected $casts = [
        'horario_funcionamento' => 'array',
        'latitude' => 'float',
        'longitude' => 'float',
    ];

    public function tipo()
    {
        return $this->belongsTo(Tipo::class, 'tipo_id');
    }

    public function criador()
    {
        return $this->belongsTo(User::class, 'criado_por');
    }

    public function imagens()
    {
        return $this->hasMany(RestauranteImagem::class)->orderBy('ordem');
    }

    public function avaliacoes()
    {
        return $this->morphMany(Avaliacao::class, 'avaliavel');
    }
}
