tp5 商城商品模型删除
1:控制器代码
public function delete($id)
{
//验证id是否正确 $id
if (!intval($id)) {
return getJsonData(10010, '参数不正确');
}
//删除操作
//检测商品是否存在
$where = [
'type_id' => $id
];
$goodsInfo = \app\admin\model\Goods::getGoodsInfo($where);
if (!empty($goodsInfo)) {
return getJsonData(10010, '商品正在使用不能删除');
}
// 启动事务
Db::startTrans();
try { //try catch php 捕捉异常
//删除商品模型数据
typeModel::deleteTypeInfo($id);
//删除商品属性
Attribute::deleteAttrInfo($where);
//删除商品规格
Spec::deleteSpecInfo($where);
//删除商品属性
SpecValue::deleteSpecValueInfo($where); // 提交事务
Db::commit();
return getJsonData(200, '删除成功');
} catch (Exception $e) {
// 回滚事务
Db::rollback();
return getJsonData(100010, $e->getMessage());
}
}
2:商品模型数据
//删除商品模型
public static function deleteTypeInfo($id)
{
return self::destroy($id);
}
3:删除商品属性
?php namespace app\common\model; use think\Model;
use traits\model\SoftDelete; class Attribute extends Model
{
//
use SoftDelete; //删除商品属性
public static function deleteAttrInfo($id)
{
return self::destroy($id);
}
}
4:删除商品规格
<?php namespace app\common\model; use think\Model;
use traits\model\SoftDelete; class Spec extends Model
{
use SoftDelete; protected $table = 'pyg_spec'; //定义商品模型和商品规格关系 一对多
public function specValues()
{
return $this->hasMany('SpecValue', 'spec_id','id');
} //删除商品规格
public static function deleteSpecInfo($id)
{
return self::destroy($id);
}
}
5,删除商品规格值:
<?php namespace app\common\model; use think\Model;
use traits\model\SoftDelete; class SpecValue extends Model
{
//
use SoftDelete; //删除商品规格值
public static function deleteSpecValueInfo($id)
{
return self::destroy($id);
}
}

tp5 商城商品模型删除的更多相关文章
- tp5 商品模型的添加展示
路由 //商品模型展示的路由 Route::get('type','/pyg/good/listType'); //将type_id传送至/pyg/good/addType的路由 Route::get ...
- tp5 商城模型id详情接口
1:创建模型 2:定义关联模型 <?php namespace app\common\model; use think\Model; use traits\model\SoftDelete; c ...
- YY一下淘宝商品模型
淘宝的电商产品种类非常丰富,必然得力于其商品模型的高度通用性和扩展性. 下面我将亲自操作淘宝商品的发布过程,结合网上其他博客对淘宝网商品库的分析,简单谈谈我的理解. 注:下面不特殊说明,各个表除主键外 ...
- 商品模型:SPU、商品、SKU概念模型设计
商品系统是电商SaaS.新零售SaaS最基础.最核心的系统之一.商品系统几乎需要支撑所有业务系统,商品详情.购物车.订单.履约.结算.售后.库存.供应链等,都需要依赖商品系统的能力.为了保障业务的稳定 ...
- 电商系统中的商品模型的分析与设计—续
前言 在<电商系统中的商品模型的分析与设计>中,对电商系统商品模型有一个粗浅的描述,后来有博友对货品和商品的区别以及属性有一些疑问.我也对此做一些研究,再次简单的对商品模型做一个介 ...
- Scrapy实战篇(八)之Scrapy对接selenium爬取京东商城商品数据
本篇目标:我们以爬取京东商城商品数据为例,展示Scrapy框架对接selenium爬取京东商城商品数据. 背景: 京东商城页面为js动态加载页面,直接使用request请求,无法得到我们想要的商品数据 ...
- osg fbx模型删除模型中的某几个节点,实现编辑模型的功能
fbx model element count:80 三维视图: {三维} 4294967295 osg::MatrixTransform1 基本墙 wall_240 [361750] 4294967 ...
- Python网络爬虫——京东商城商品列表
Python_网络爬虫--京东商城商品列表 最近在拓展自己知识面,想学习一下其他的编程语言,处于多方的考虑最终选择了Python,Python从发布之初就以庞大的用户集群占据了编程的一席之地,pyth ...
- 实例讲解TP5中关联模型
https://blog.csdn.net/github_37512301/article/details/75675054 一.关联模型在关系型数据库中,表之间有一对一.一对多.多对多的关系.在 T ...
随机推荐
- 关于增强for循环的使用
1 class MultipleQUestion extends Question{ //多选题类 2 3 private char[] answer; //多选题答案属性 4 5 public ch ...
- kubectl详解
kubectl详解 目录 kubectl详解 一.陈述式管理 1. 陈述式资源管理方法 2. k8s相关信息查看 2.1 查看版本信息 2.2 查看资源对象简写 2.3 查看集群信息 2.4 配置ku ...
- 使用Hot Chocolate和.NET 6构建GraphQL应用(8) —— 实现Mutate添加数据
系列导航 使用Hot Chocolate和.NET 6构建GraphQL应用文章索引 需求 在讨论完GraphQL中的查询需求后,这篇文章我们将演示如何实现GraphQL中的数据添加任务. 思路 在G ...
- LeetCode随缘刷题之Java经典面试题将一个字符串数组进行分组输出,每组中的字符串都由相同的字符组成
今天给大家分享一个Java经典的面试题,题目是这样的: 本题是LeetCode题库中的49题. 将一个字符串数组进行分组输出,每组中的字符串都由相同的字符组成 举个例子:输入["eat&qu ...
- MySQL时间格式TIMESTAMP和DATETIME的区别
时区,timestamp会跟随设置的时区变化而变化,而datetime保存的是绝对值不会变化 自动更新,insert.update数据时,可以设置timestamp列自动以当前时间(CURRENT_T ...
- 帆软报表(finereport)图表操作细节
图表间之间的组件间隔:body-->属性-->布局-->组件间隔 决策报表背景水印:body-->属性-->水印 仪表盘指针/枢纽/背景颜色:样式-->系列 柱形图 ...
- 作业2.7_3(给UVA548 树 Tree单独一个帖子)🍺
代码:(输入函数很香建议保留)我不理解他是绿的但 The Blocks Problem 是黄的 #include<bits/stdc++.h> using namespace std; i ...
- 大地坐标BLH转平面坐标xyh(高斯投影坐标正算) Java版
技术背景 做过位置数据处理的小伙伴基本上都会遇到坐标转换,而基于高斯投影原理的大地坐标转平面坐标就是其中一种坐标转换,坐标转换的目的就是方便后面数据的处理工作,大地坐标转高斯平面坐标常用的有两种,即3 ...
- git 提交忽略文件
target/ */target/ **/logs/ !.mvn/wrapper/maven-wrapper.jar ### STS ### .apt_generated .classpath .fa ...
- AFNetworking 修改
相比大家刚刚拿到AFNetworking post 和 get 请求数据的时候都会有些小问题吧 NSLocalizedDescription=Request failed: unacceptabl ...