CombindStock.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. declare (strict_types = 1);
  3. namespace app\admin\model;
  4. use think\facade\Db;use think\Model;
  5. /**
  6. * @mixin \think\Model
  7. */
  8. class CombindStock extends Model
  9. {
  10. protected $createTime='createtime';
  11. protected $updateTime='updatetime';
  12. protected $hidden=["wsminfo","good"];
  13. protected $append=["specInfo","catInfo"];
  14. public function good(){
  15. return $this->belongsTo(GoodBasic::class,"spuCode","spuCode")->bind(["cat_id","companyNo","companyName"]);
  16. }
  17. public function WsmInfo(){
  18. return $this->belongsTo(WarehouseInfo::class,'wsm_code','wsm_code')->bind(['wsm_name'=>"name","wsm_type"]);
  19. }
  20. public function CombindGood(){
  21. return $this->hasMany(GoodCombind::class,'spuCode','spuCode')->where("is_del",0);
  22. }
  23. public function getSpecInfoAttr($v,$row){
  24. $spec = Db::name('good_spec')->where(['spuCode'=>$row['spuCode'],'is_del'=>0])->select()->toArray();
  25. $speclist=[];
  26. if(!empty($spec)){
  27. foreach ($spec as $value){
  28. $temp=[];
  29. $temp['id']=$value['id'];
  30. $temp['spuCode']=$value['spuCode'];
  31. $temp['spec_id']=$value['spec_id'];
  32. $temp['spec_value_id']=$value['spec_value_id'];
  33. $temp['is_del']=$value['is_del'];
  34. $sp = Db::name('specs')->where(['id'=>$value['spec_id']])->find();
  35. $temp['spec_name']=isset($sp['spec_name']) ? $sp['spec_name']:'';
  36. $spv = Db::name('spec_value')->where(['id'=>$value['spec_value_id']])->find();
  37. $temp['spec_value']=isset($spv['spec_value']) ? $spv['spec_value']:'';
  38. $speclist[]=$temp;
  39. }
  40. }
  41. return $speclist;
  42. }
  43. public function getCatInfoAttr($v,$row){
  44. return made($row['cat_id']);
  45. }
  46. }