<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class ProductReview extends BaseModel
{
    protected $table = 'product_reviews';

    protected $fillable = ['id', 'product_id', 'parent_id', 'user_id', 'rate', 'comment', 'answer', 'is_activated', 'is_deleted', 'created_at', 'updated_at'];

    public function user() {
        return $this->belongsTo(User::class, 'user_id', 'id')->select('id', 'name', 'furigana_name', 'avatar');
    }

    public function product() {
        return $this->belongsTo(Product::class, 'product_id', 'id')->select('id', 'name');
    }

    public function children() {
        return $this->hasMany(ProductReview::class, 'parent_id', 'id')->with('user')->where('is_activated', true)->where('is_deleted', false)->orderBy('id');
    }

    public function children_all() {
        return $this->hasMany(ProductReview::class, 'parent_id', 'id')->with('user')->where('is_deleted', false)->orderBy('id');
    }
}
