<?php

namespace App\Models\Graphics;

use Illuminate\Database\Eloquent\Model;

class CustomGraphicsRequest extends Model
{
    protected $guarded = [];

    // explicitly define tables
    protected $table = 'custom_graphics_requests';

    protected $fillable = [
        'user_id', 'name','description','status'
    ];

    // clipart tags
    public function tags()
    {
        return $this->belongsToMany('App\Models\Tag', 'custom_graphics_request_tags', 'tag_id', 'custom_graphics_request_id');
    }

    // owner
    public function user()
    {
        return $this->hasOne('App\Models\Auth\User', 'id', 'owner_id');
    }

    // Media relationship
    public function media()
    {
        return $this->hasMany('App\Models\Graphics\CustomGraphicsRequestMedia', 'custom_graphics_requests_id', 'id');
    }


    // Notes relationship
    public function notes()
    {
        return $this->hasMany('App\Models\Graphics\CustomGraphicsRequestNotes', 'custom_graphics_requests_id', 'id');
    }

    // Reference relationship
    public function references()
    {
        return $this->hasMany('App\Models\Graphics\CustomGraphicsRequestReference', 'custom_graphics_requests_id', 'id');
    }

    // the thread path
    public function path()
    {
            return \url('/forum/threads/') . '/' . $this->id;
    }

}
