Magento2 updated quote_item table - 更新quote_item 表自定义字段

    /**
     * @param $class
     * @return mixed
     */

    public function mc_get_obj($class)
    {
        return \Magento\Framework\App\ObjectManager::getInstance()->get($class);
    }

 /**
     * TODO UPDATE
     * @return bool|mixed
     */
    public function update()
    {
        $customerId = $this->customerId;

        //fixme redirect login
        if (!$customerId) {
            //Todo @return not login
            $this->_die(‘not login‘, [], ‘/customer/account/login‘);
        }

        //fixme get request
        $req = $this->setReq()->req;

        $o = $this->_o;
        $data = $req[$o];
        /**
         * @var $quoteItem \Magento\Quote\Model\Quote\item
         */
        $quoteItem = $this->mc_get_obj(‘Magento\Quote\Model\Quote\item‘);
        //req item id
        $item_id = $req[$o][‘item_id‘];
        //GET Quote id
        $item = $quoteItem->load($item_id);
        //GET Quote id
        $quoteId = $item->getQuoteId();

        try {
            /**
             * @var $quote \Magento\Quote\Model\Quote
             */
            $quote = $this->mc_get_obj(\Magento\Quote\Model\Quote::class)->load($quoteId);
            $item = $quote->getItemById($item_id);
            if (!$item) {
                var_dump(‘Item is empty !‘);
                die;
            }
            $item->setSizeId($data[‘size_id‘]);
            $item->setSizeType($data[‘size_type‘]);
            $result =  $item->save()->toArray();
            $this->_die(‘Success !‘, [
                ‘size_id‘=>$result[‘size_id‘],
                ‘size_type‘=>$result[‘size_type‘],
            ], ‘‘, 1);
        } catch (\Exception $e) {
            $this->_die($e->getMessage());
        }
    }

原文地址:https://www.cnblogs.com/q1104460935/p/10847588.html

时间: 2024-11-01 11:56:39

Magento2 updated quote_item table - 更新quote_item 表自定义字段的相关文章

ALTER TABLE - 修改表的定义

SYNOPSIS ALTER TABLE [ ONLY ] name [ * ] ADD [ COLUMN ] column type [ column_constraint [ ... ] ] ALTER TABLE [ ONLY ] name [ * ] DROP [ COLUMN ] column [ RESTRICT | CASCADE ] ALTER TABLE [ ONLY ] name [ * ] ALTER [ COLUMN ] column { SET DEFAULT expr

Magento2 常见错误 ----- 定期更新

1.静态文件有版本号,静态文件不能读取,页面无法显示.如下图: 解决方案:其实URL里的版本号对于magento来说是合法的,这是因为我们缺少了一个文件\pub\static\.htaccess:导致路由重写不能成功进行,或其 .htaccess 书写错误导致的:处理方法如下: 创建并写入.htaccess 文件到pub/static: #正则路由 RewriteRule ^version.+?/(.+)$ $1 [L] #重定向目录 ##========== RewriteCond %{REQ

模块管理常规功能自定义系统的设计与实现(52--功能更新[2] 对百分比字段的操作)

功能更新(2)  对百分比字段的操作 百分比数据,或者是比率数据是一个比较难处理的字段,难点并不在于单条记录之中,而是在于汇总和分类汇总的时候. 先来看看我系统中的一个模块中的一个比率字段: 上图中的  已支付比例,这个字段是  已支付金额 / 结算金额,这个字段在此合同模块中可以作为一个计算字段来保存在数据库中,甚至可以不保存在数据库中,直接在bean里作为一个计算的属性. 现在问题就来了,如果要计算所有合同的已支付比例,那么就不是简单加起来的问题了,要把分子和分母分别加起来再除才会得到总计的

定义字段

定义字段 1.为什么需要定义字段 在每次实例化模型时,系统都会自动执行以下代码: 调试界面如下图所示: 由上图可知,我们每次调用模型进行实例化时,系统都会自动执行SQL语句:show columns,这条语句代表分析模型对应的数据表的表结构,在实际项目开发中,这个语句是非常耗时的,而且其对数据库的开销也非常大,那么在实际开发时最好缓存数据表的字段信息. 2.字段缓存 字段缓存保存在Runtime/Data/_fields/ 目录下面 只要是不开启调试模式都会生成字段缓存(字段缓存可以单独设置关闭

4、CRM2011编程实战——将窗体中指定控件的值做处理后更新到另一个字段中

需求:将接报时间加上到期提醒时间后得到的值,更新到字段"到期截止时间" Js调用: //设置到期截止时间 function setDeadLine(){ var recordId = Xrm.Page.data.entity.getId(); var entityName = Xrm.Page.data.entity.getEntityName(); var reportedTime = Xrm.Page.getControl("hxcs_fdatetimeofrequest

【Django数据库】如何将一个表自定义的key列还原成id列作为key

[问题]makemigrations是会要求id输入默认值 例如下表UserVerifyCode,自定义了idUser这个key 修改成如下,去掉idUer的主键属性 使用python manage.py makemigrations,id是新增列,不能为空,所以必须输入默认值 解决办法 Step1:清空表的数据 Step2:上图上选择1方法,输入int(0) Step3: id列我们的都知道,实际上不需要默认值,这时候需要去makemigrations文件夹下,修改合并文件 文件目录 删除de

【Hibernate】hibernate原生sql利用transformers返回多表自定义类型对象

大致结构: Person(人): id,name,age,bookId Book(书):id,bookName Author(作者):id,authorName,bookId 一个人 只有 一本书,一本书 有多个 作者,一个作者 只出 一本书:(可能举例不好,明白就行) Person ----> Book : OneToOne Book ----> Author: OneToMany 期望达到的效果: sql: select p.id id,p.name,b.bookName bookName

Dynamic CRM 2013学习笔记(十八)根据主表状态用JS控制子表自定义按钮

有时要根据主表的审批状态来控制子表上的按钮要不要显示,比如我们有一个需求审批通过后就不能再上传文件了. 首先打开Visual Ribbon Editor, 如下图,我们可以利用Enable Rules –> CustomRule 用js来控制按钮是否显示:   js function: 首先用odata取出主表的状态,然后根据主表的状态来判断是否显示: var approvalStatus = null; function controlUpload(){ var marketingPlan =

查看table,view,procedure的定义

select object_definition(object_id('sys.tables')) exec sp_helptext 'sys.tables' select * from sys.system_sql_modules where object_id=object_id('sys.tables')