• 会员价格删除


    当删除一件商品时,这件商品对应的会员价格也应该从会员价格表中删除掉。

     

    在删除一件商品之前删除会员价格

    两种方法:

    程序实现:【用这种,扩展性比较,不需要修改表结构】

     

    protected function _before_delete($option)
    {
    $id = $option['where']['id']; // 要删除的商品的ID
    /*************** 删除原来的图片 *******************/
    // 先查询出原来图片的路径
    $oldLogo = $this->field('logo,mbig_logo,big_logo,mid_logo,sm_logo')->find($id);
    deleteImage($oldLogo);

    /**********删除会员价格 *******/
    $mpModel=D('member_price');
    $mpModel->where(array(
    'goods_id'=>array('eq',$id),
    ))->delete();
    }

    MYSQL自带的外键:

    扩展:如何不使用代码删除,当删除商品时会员价格表中的记录自动被删除?

    可以使用MYSQL中自带外键约束来实现【前提:只有InnoDB引擎支持】

     

     

    drop table if exists p40_member_price;
    create table p40_member_price
    (
    price decimal(10,2) not null comment '会员价格',
    level_id mediumint unsigned not null comment '级别Id',
    goods_id mediumint unsigned not null comment '商品Id',
    foreign key(goods_id) references p40_goods(id) on delete cascade,
    key level_id(level_id),
    key goods_id(goods_id)
    )engine=InnoDB default charset=utf8 comment '会员价格';

     

     

    世上无难事,只怕有心人......
  • 相关阅读:
    第12组 Alpha冲刺(4/6)
    第12组 Alpha冲刺(3/6)
    第12组 Alpha冲刺(2/6)
    第12组 Alpha冲刺 (1/6)
    第12组(78) 需求分析报告
    第12组(78)团队展示
    结对编程作业
    第06组Beta冲刺(2/5)-(组长)
    第06组Beta冲刺(1/5)-(组长)
    第06组Alpha冲刺(6/6)-(组长)
  • 原文地址:https://www.cnblogs.com/gooderic/p/5683082.html
Copyright © 2020-2023  润新知