脚本宝典收集整理的这篇文章主要介绍了zend-framework – Zend中的setIntegrityCheck选择连接,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我的问题是:为什么我需要这样做?
在我看来,禁用“诚信检查”不是正确的方法.在我特定的情况下,我正在使用带有外键的一些InnoDB表的MysqL数据库,例如:
CREATE TABLE IF NOT EXISTS `tableA` ( `id` CHAR(6),`name` VArchAR(255),Primary KEY (`id`) ) ENginE=InnoDB; CREATE TABLE IF NOT EXISTS `tableB` ( `tableA_id` CHAR(6),`somefield` VARCHAR(255),PRIMARY KEY (`tableA_id`) ) ENGINE=InnoDB; ALTER TABLE `tableB` ADD FOReiGN KEY fk1 (`tableA_id`) REFERENCES `tableA` (`id`);
$table = new Zend_Db_Table('tableB'); $select = $table->select(TRUE) ->join(array('a' => 'tableA'),'tableB.tableA_id = a.id'); $result = $table->fetchAll($select);
完整性检查是简单的,以确保查询不使用多个表,并且在到位时,确保可以删除或修改Zend_Db_Table_Row对象,然后保存,因为行数据是排除在单个表中,而不是来自不同表格的数据混合.
要表示您想要使用多个表,请指定setIntegrityCheck(false)让Zend Framework知道它是有意的.结果是你得到一个不能调用save()或delete()的锁定行.
这是Zend_Db_Table – Advanced Usage参考指南的引用(跳到第27个例子.
以上是脚本宝典为你收集整理的zend-framework – Zend中的setIntegrityCheck选择连接全部内容,希望文章能够帮你解决zend-framework – Zend中的setIntegrityCheck选择连接所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。