magento2中模型model常用的方法

EAV和简单模型都是从Magento\Framework\Model\AbstractModel类扩展而来的,该类进一步扩展了Magento\ Framework\DataObject。

DataObject有一些巧妙的方法值得记住。

以下一组方法用于处理数据转换:toArray:将对象数据的数组转换为$keys数组中请求的具有键的数组

toXML:将对象数据转换为XML

toJson:将对象数据转化为JSON

toString:将对象数转换为具有预定义格式的字符串

serialize:将对象数据转换为具有定义的键和值的字符串这些方法的其他组通过magic__call方法实现,启用以下简洁的语法:

get,例如$object->getPackagingOption()

设置<AttributeName],例如$object->setPackagingOption(‘plastic_bag’)uns

[例如$object->unsPackagingOptions()具有<AttributeName’,

例如$bject->hasPackagingOption[(]要快速理解这种魔力,让我们手动创建如下所示的magelicious_core_log表:

CREATE TABLE `magelicious_core_log` (`entity_id`
    int(10) unsigned NOT NULL AUTO_INCREMENT, `severity_level`
    varchar(24) NOT NULL, `note`
    text NOT NULL, `created_at`
    timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY(`entity_id`)) ENGINE = InnoDB DEFAULT CHARSET = utf8;

借助DataObject的魔力,我们空的Magelicious\Core\Model\Log模型仍然可以保存其数据,如下所示:

$log - > setCreatedAt(new\ DateTime());
$log - > setSeverityLevel('info');
$log - > setNote('Just Some Note');
$log - > save();

虽然这个例子会起作用,但它的作用远不止于此。手动创建表对于构建模块来说是不可行的。Magento对此有一个正确的机制,称为设置脚本。

码小课magento专区
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值