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.
83 lines
1.9 KiB
83 lines
1.9 KiB
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use App\Http\Resources\ShopBrand as ShopBrandResource;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
|
|
class ShopBrand extends Model
|
|
{
|
|
const STATE_OFFSHOW = 0;
|
|
const STATE_SHOW = 1;
|
|
const STATE_OFFSHOW_STRING = '下架';
|
|
const STATE_SHOW_STRING = '正常';
|
|
const NEW_ADD = 1;
|
|
const NOT_NEW_ADD = 0;
|
|
const NEW_ADD_STRING = '新增';
|
|
const NOT_NEW_ADD_STRING = '非新增';
|
|
|
|
protected $table = "shop_brand";
|
|
//
|
|
public function classes()
|
|
{
|
|
return $this->belongsTo(Classes::class);
|
|
}
|
|
|
|
public static function getStateDispayMap()
|
|
{
|
|
return [
|
|
self::STATE_OFFSHOW => self::STATE_OFFSHOW_STRING,
|
|
self::STATE_SHOW => self::STATE_SHOW_STRING,
|
|
];
|
|
}
|
|
public static function getTypeStateDispayMap()
|
|
{
|
|
return [
|
|
self::NEW_ADD => self::NEW_ADD_STRING,
|
|
self::NOT_NEW_ADD => self::NOT_NEW_ADD_STRING,
|
|
];
|
|
}
|
|
|
|
public function getListPicUrlAttribute($pictures)
|
|
{
|
|
if (is_string($pictures)) {
|
|
return json_decode($pictures, true);
|
|
}
|
|
|
|
return $pictures;
|
|
}
|
|
|
|
public function setListPicUrlAttribute($pictures)
|
|
{
|
|
if (is_array($pictures)) {
|
|
$this->attributes['list_pic_url'] = json_encode($pictures);
|
|
}
|
|
}
|
|
|
|
public static function getAllClasses($noRoot = false)
|
|
{
|
|
$classes = static::all(['id', 'name']);
|
|
|
|
$result = [];
|
|
|
|
if (!$noRoot) {
|
|
$result = [
|
|
0 => 'root'
|
|
];
|
|
} else {
|
|
$result = [
|
|
0 => 'null'
|
|
];
|
|
}
|
|
foreach ($classes as $eachClass) {
|
|
$result[$eachClass->id] = $eachClass->name;
|
|
}
|
|
|
|
return $result;
|
|
}
|
|
|
|
public static function getDetail($where){
|
|
return new ShopBrandResource(static::where($where)->first());
|
|
}
|
|
}
|