Files
elcaribe/app/Models/Category.php
2023-08-07 15:52:04 -04:00

50 lines
1.2 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use App;
class Category extends Model
{
protected $with = ['category_translations'];
public function getTranslation($field = '', $lang = false){
$lang = $lang == false ? App::getLocale() : $lang;
$category_translation = $this->category_translations->where('lang', $lang)->first();
return $category_translation != null ? $category_translation->$field : $this->$field;
}
public function category_translations(){
return $this->hasMany(CategoryTranslation::class);
}
public function products(){
return $this->hasMany(Product::class);
}
public function classified_products(){
return $this->hasMany(CustomerProduct::class);
}
public function categories()
{
return $this->hasMany(Category::class, 'parent_id');
}
public function childrenCategories()
{
return $this->hasMany(Category::class, 'parent_id')->with('categories');
}
public function parentCategory()
{
return $this->belongsTo(Category::class, 'parent_id');
}
public function attributes()
{
return $this->belongsToMany(Attribute::class);
}
}