对于简单类的新className(),奇怪的令人困惑的Zend / Doctrine错误

时间:2010-12-04 05:31:50

标签: zend-framework doctrine

我很困惑,希望这里有人有线索。

我认为我有Zend的Doctrine 1.x。

我创建了一个相当简单的记录类型:

class MYAPP_Model_CustomerContactRequest extends Doctrine_Record
{
    /**
     * Set table definition
     */
    public function setTableDefinition()
    {
    $this->setTableName('my_table_name');
    $this->hasColumn('id', 'integer', 4, array(
         'type' => 'integer',
         'length' => 4,
         'unsigned' => 0,
         'primary' => true,
         'autoincrement' => true,
         ));
    $this->hasColumn('customerEmail', 'string', 255, array(
         'type' => 'string',
         'length' => 255,
         'fixed' => false,
         'primary' => false,
         'notnull' => true,
         'autoincrement' => false,
         ));
    $this->hasColumn('vendorID',  'integer', 4, array(
         'type' => 'integer',
         'length' => 4,
         'unsigned' => 0,
         'primary' => false,
         'notnull' => true,
         'autoincrement' => false,
         ));
    $this->hasColumn('contactStatus',  'integer', 4, array(
         'type' => 'integer',
         'length' => 4,
         'unsigned' => 0,
         'primary' => false,
         'autoincrement' => false,
         ));
    }
    Other member funcs ...
}

不多。

我有一个表单,用于发送vendorID和customerEmail数据。没什么大不了的。

按下按钮时,控制器中的提交操作会正确触发。行。

但是提交操作正在崩溃,并且在没有错误消息的情况下给了我死亡的白屏。我现在很困惑。

提交操作如下:

    public function submitAction(){

    try {
        $request = new MYAPP_Model_CustomerContactRequest();
    }
    catch (Zend_Exception $e) {
        echo "Caught exception: " . get_class($e) . "\n";
        echo "Message: " . $e->getMessage() . "\n";
    }

    /*
    $request = new MYAPP_Model_CustomerContactRequest();
    $request->customerEmail = $_GET['custEmail'];
    $request->vendorID =$this->_targetExpertID;
    $request->contactStatus = 1;
    $request->save();
    */
}

正如你所看到的,我已经注释掉了实际的记录保存,而我只是试图实例化模型类。

我一定要错过任何明显或暗淡而神秘的东西。这里似乎没有足够的错误。

删除声明:     $ request = new Knowbees_Model_CustomerContactRequest(); ...来自try子句没有任何区别。

如果我注释掉实例化,我会继续进入响应页面,好像一切都很顺利。

这对你有什么建议吗?我很难过。

1 个答案:

答案 0 :(得分:0)

!#!@ $ @!$#@ !!!

这是路径问题!

我在路径中有!@#!@#file CustomerContactRequest.php:

BASE_DIR\application\modules\MYAPP\models\CustomerContactRequest\CustomerContactRequest.php

...而不是

BASE_DIR\application\modules\MYAPP\models\CustomerContactRequest.php


还有@#!$ @!$类名......

MYAPP_Model_CustomerContactRequest

...暗示定义正好在models目录下!

一旦我移动了文件,整个愚蠢的事情就会栩栩如生。

=======

我非常反感没有收到来自加载程序的错误消息!这个明显的白痴错误严重影响了我今晚的饮酒时间。

希望有一天这篇文章可以帮助别人。

@#@ $#@ $#$#!!!