汪总电商平台
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.
 
 
 
 
 
 

118 lines
2.8 KiB

<?php
namespace app\api\model\wanlshop;
use think\Model;
use traits\model\SoftDelete;
class Goods extends Model
{
use SoftDelete;
// 表名
protected $name = 'wanlshop_goods';
// 自动写入时间戳字段
protected $autoWriteTimestamp = 'int';
// 定义时间戳字段名
protected $createTime = 'createtime';
protected $updateTime = 'updatetime';
protected $deleteTime = 'deletetime';
// 追加属性
// protected $append = [
// 'old_price',
// 'redpocket',
// ];
// getImagesAttr
public function getImagesAttr($value)
{
return $value ? explode(',', $value) : [];
}
// SKU
public function getSkuAttr($value, $data)
{
$list = GoodsSku::where(['goods_id'=>$data['id'], 'stock'=>['>',0], 'state'=> ['=',0]])->field('id,thumbnail,difference,price,market_price,stock,state,weigh,sn,sales')->select();
return $list;
}
// SPU
public function getSpuAttr($value, $data)
{
$list = GoodsSpu::where('goods_id',$data['id'])->field('id,name,item')->select();
return $list;
}
// 获取评论
public function getCommentListAttr($value, $data)
{
$comment = new GoodsComment;
$where = [
'goods_id' => $data['id'],
'order_type' => 'goods'
];
$list = $comment
->where($where)
->order('createtime desc')
->field('id,user_id,content,suk,images,score')
->limit(1) // 默认展示几条评论
->select();
foreach ($list as $row) {
$row->user->visible(['id','nickname','avatar']);
}
return [
'figure' => $comment->where($where)->where('images','neq', '')->count(), //有图
// 'tag' => array_count_values($comment->where($where)->limit(100)->column('tag')), //评论标签
'data' => $list
];
}
// 类目属性 格式化
public function getCategoryAttributeAttr($value)
{
return json_decode($value,true);
}
// 品牌
public function brand()
{
return $this->belongsTo('app\api\model\wanlshop\Brand', 'brand_id', 'id', [], 'LEFT')->setEagerlyType(0);
}
// 运费模板
public function freight()
{
return $this->belongsTo('app\api\model\wanlshop\ShopFreight', 'freight_id', 'id', [], 'LEFT')->setEagerlyType(0);
}
// 运费模板
public function freightdata()
{
return $this->belongsTo('app\api\model\wanlshop\ShopFreightData', 'freight_id', 'freight_id', [], 'LEFT')->setEagerlyType(0);
}
// 店铺
public function shop()
{
return $this->belongsTo('app\api\model\wanlshop\Shop', 'shop_id', 'id', [], 'LEFT')->setEagerlyType(0);
}
// 类目
public function category()
{
return $this->belongsTo('app\api\model\wanlshop\Category', 'category_id', 'id', [], 'LEFT')->setEagerlyType(0);
}
// 店铺类目
public function shopsort()
{
return $this->belongsTo('app\api\model\wanlshop\ShopSort', 'shop_category_id', 'id', [], 'LEFT')->setEagerlyType(0);
}
}