2013-06-03 22 views
0

我在使用cakephp中的create()方法時遇到問題。我有下面的代碼,當我在調試中運行它時,它只是在創建行之後嘗試遍歷它時恢復程序。

$this->CompanyDeviceQuestionConcern->create(); 
$this->CompanyDeviceQuestionConcern->set('source_company_id', $company_id); 
$this->CompanyDeviceQuestionConcern->set('user_id', $user['id']); 
$this->CompanyDeviceQuestionConcern->set('create_date', date('Y-m-d H:i:s')); 
$this->CompanyDeviceQuestionConcern->set('modified_date', date('Y-m-d H:i:s')); 

有沒有人知道爲什麼當我運行第一行時崩潰?

+0

定義「崩潰」的任何詳細信息。你會得到什麼錯誤?怎麼了? – PeeHaa

+0

「當我在調試中運行它時,它只是在創建行之後嘗試遍歷它時恢復程序。」沒有錯誤,這使得它很難調試。 –

+0

爲什麼它不會在'create()'後恢復? create()只是重置模型。在所有set()調用完成後調用' - > save()'並保存到數據庫中。 – Costa

回答

0

我找到了愚蠢的錯誤。我忘了將模型包含在頂部類中的$ uses變量中。然而,它不顯示任何類型的錯誤是相當不方便的。 以下是我添加的解決方法。

class ReviewsController extends AppController { 
    var $uses = array('Question', 'CompanyTemplateGroupQuestionConcern'); 

此外,如果有人想上你可以如何使用作品看這裏 http://book.cakephp.org/2.0/en/core-utility-libraries/app.html

3

我不確定,但我認爲你的數據庫由於某些字段的限制(如NOT NULL)拒絕了創建操作。

有一種解決方法是:

$newData = array(
    'id' => NULL, 
    'source_company_id' => $company_id, 
    'user_id' => $user['id'], 
    'create_date' => date('Y-m-d H:i:s'), 
    'modified_date' => date('Y-m-d H:i:s') 
); 

$this->CompanyDeviceQuestionConcern->save($newData);