Magento 学习笔记 (六) 高级Magento模型
来源:互联网 发布:如何禁止程序访问网络 编辑:程序博客网 时间:2024/04/30 15:41
如何解决 createEntityTables: can't create table ?
学习这一章,在创建数据表的时候
$installer->createEntityTables(
$this->getTable('helloworld-eav/blogpost')
);
碰到了一个问题: createEntityTables: can't create table
这是为什么呢?
怎么解决呢?
首先来调试一下createEntityTables这个函数。那么这函数在哪呢?
发现它是属于$installer的,咋们 在 mysql4-install-0.1.0.php文件中 var_dump($installer),然后刷新一下网页
发现 $installer 是 Mage_Eav_Model_Entity_Setup 的对象,咋们在 app\code\core\Mage\Eav\Model\Entity\Setup.php文件中,查找 ‘createEntityTables’,在末尾可以看到:
1366行 :Zend_Debug::dump 是我加的,为了显示更加详细的错误信息,刷新网页:
User Error: DDL statements are not allowed in transactions
原来mysql 是不支持DDL事务回滚的。 那么我们怎么办呢?
我们可以自己写一个createEntityTables函数,覆盖原有的createEntityTables的函数。
复制原有createEntityTables函数,将上面图片中的代码 1359行、1367行和1368行注释掉,黏贴到 /app/code/local/App/Helloworld/Model/Entity/Setup.php文件中。然后刷新网页
http://127.0.0.1/Magento/helloworld/blog/eavRead/id/1
,可以看到网页中终于出现期待已久的Loading the blogpost with an ID of 1
array(0) { }
- Magento 学习笔记 (六) 高级Magento模型
- Magento模块开发手册(六)Magento模型启动资源
- magento学习笔记之一
- magento学习笔记之一
- magento学习笔记一
- 深入理解Magento – 第六章 – 高级Magento模型
- 深入理解Magento - 第六章 - 高级Magento模型
- Magento开发文档(六):Magento模型启动资源
- 第六章 – 高级Magento模型1
- 第六章 – 高级Magento模型2
- 第六章 – 高级Magento模型
- 6.高级Magento模型EAV
- magento 开发 -- 深入理解Magento第六章 – 高级Magento模型
- Magento
- magento
- 深入理解Magento – 第六章 – 高级Magento模型.doc
- magento 开发 -- 入门深入理解第六章 – 高级Magento模型
- Magento 新闻模块开发教程 (六) 创建模型
- java线程(jdk5升级解决方案)
- Java语言基础组成
- 证书相关
- Java搭建环境
- String 对象学习笔记
- Magento 学习笔记 (六) 高级Magento模型
- java集合类
- java网络编程
- java交通灯管理项目
- 无法进入main 函数原因之一
- 消息记录查询
- Java注解
- Eclipse如何开启代码助手
- ios实现itms-services协议企业内发布或者越狱发布