例如,如果我有这样的事情:
class Application_Model_DbTable_Events extends Zend_Db_Table_Abstract
{
protected $_name = 'events';
protected $_dependentTables = array('UsersEvents');
protected $_referenceMap = array(
'Creator' => array(
'columns' => 'created_by',
'refTableClass' => 'Users',
'refColumns' => 'ID'
),
);
...
我想这听起来很乐观,但Zend能否确保在插入的Users表中以某种方式存在created_by?
答案 0 :(得分:1)
目前无法做到这一点。
Zend当前可以帮助支持的唯一一种引用完整性是级联删除和级联更新。如手册所引用的那样,当使用MySql的MyISAM表类型而不是InnoDB时,可以使用它。
Zend不强制执行外键检查。但是,通常情况下,您可以将约束放入DB中来处理这个问题。
如果您的环境不允许这样,那么理想的情况是扩展Zend框架以便为您进行这些检查,尽管从PHP进行检查会很昂贵。