You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
willaengine/app/GalleryNew.php

91 lines
2.0 KiB

<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class GalleryNew extends Model
{
protected $fillable = ['user_id', 'business_id', 'marketer_business_id', 'name', 'path', 'crop_data', 'test'];
public $timestamps = false;
public $casts = ['crop_data' => 'array'];
public function usages()
{
return $this->hasMany('App\UploadableNew', 'gallery_id', 'id');
}
public function roles()
{
return $this->hasMany('App\UploadableNew', 'gallery_id', 'id');
}
public function parent()
{
return $this->belongsTo('App\GalleryNew', 'parent_id');
}
public function children()
{
return $this->hasMany('App\GalleryNew', 'parent_id', 'id');
}
public function businessitem()
{
return $this->morphedByMany('App\BusinessItem', 'uploadable');
}
public function business_item()
{
return $this->morphedByMany('App\BusinessItem', 'uploadable');
}
public function business_items()
{
return $this->morphedByMany('App\BusinessItem', 'uploadable');
}
public function businessRole($role = 'Gallery')
{
return $this->morphedByMany('App\Business', 'uploadable')->wherePivot('image_role', $role);
}
public function portfolios()
{
return $this->morphedByMany('App\Portfolio', 'uploadable');
}
public function portfolio()
{
return $this->morphedByMany('App\Portfolio', 'uploadable');
}
public function product()
{
return $this->morphedByMany('App\Product', 'uploadable');
}
public function frames()
{
return $this->morphedByMany('App\SpUserFrame', 'uploadable');
}
public function elements()
{
return $this->morphedByMany('App\SpUserElement', 'uploadable');
}
public function business()
{
return $this->belongsTo('App\Business', 'business_id', 'id');
}
public function getImageRoleAttribute()
{
return $this->pivot->image_role;
}
}