老莫的笔记本  
  
查看: 957|回复: 0

TP5 关于商品分类删掉后报错的解决方法

[复制链接]

662

主题

878

帖子

5141

积分

超级版主

Rank: 8Rank: 8

积分
5141
发表于 2020-4-7 16:46:36 | 显示全部楼层 |阅读模式
在model/shop.php 中,通常我会采取关联 来获得商品分类:[ 撸代码 ]
  1. <?php
  2. namespace app\index\model;
  3. use think\Model;

  4. /**
  5.     name    商品的表   
  6. */
  7. class Shop extends Model
  8. {
  9.   
  10.   
  11.     // 关联商品类型
  12.     public function proType()
  13.     {
  14.         
  15.         return $this->hasOne('shoptype','id','type')->field('id,title');

  16.     }

  17.     }
复制代码





然而,时不时删掉分类 会导致我 前端页面渲染后报错, 所以 我在 list 获取接口 是这么写的:
  1.     public function allShops()
  2.     {
  3.       
  4.         // 页码
  5.         $page = input('page');
  6.         // 每页条数
  7.         $limit = input('limit');
  8.         // limit 初始条数
  9.         $binLimit = ($page-1)*$limit;
  10.         // 判断是否删除了
  11.         $map['status']  = ['<>',0];  
  12.         // 关键字搜索
  13.         if(!empty(input('key')) ){
  14.             $map['title'] = ['like','%'.input('key').'%'];
  15.         }
  16.         

  17.        // 总数
  18.         $count = Db::name('shop')
  19.                 ->where($map)
  20.                 ->count();
  21.         
  22.         $req = Shop::order('id desc,status asc')
  23.                 ->where($map)
  24.                 ->limit($binLimit,$limit)
  25.                 ->field('id , title, initialPrice, consultPrice, marketPrice, start, end, province, city, area, picUrl, scene, type,auction_status,fabudate')
  26.                 ->select();
  27.         
  28.         
  29.             foreach( $req as $k => $v )
  30.             {
  31.                 //拿到分类
  32.                 if($v->proType)
  33.                 {
  34.                  $v['pType'] = $v->proType->title;  
  35.                 }else{
  36.                     $v['pType'] = '无';
  37.                 }
  38.             }


  39.         downjson(0,"获取成功",$count, $req);

  40.     }
复制代码




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表