2014-01-24 164 views
1

任何人都知道$myModelClass->dump()是如何工作的?任何人都知道如何 - >轉儲()的作品?

我試了幾次,在不同的狀態模式,但切換到

var_dump($myModelClass->toArray()); 

因爲->dump()不輸出(或返回)東西給我。

編輯: 和var_dump($myModelClass->dump());轉儲總是一個空的數組。

EDIT2: 這裏有一個例子,我如何使用它的IndexController的的indexAction:

public function indexAction() { 
    $this->view->disable(); 
    $u = new User(); 
    $u = $u::findFirstByUsersId(56); 
    var_dump($u->dump()); //empty array 
    $u = new User(); 
    $u = $u->find('usersId = '.(56))->getFirst(); 
    var_dump($u->dump()); //empty array 
    var_dump($u->toArray()); //correct output 
} 

層次的用戶是:

User <- BaseUser <- UsersStorage <- Phalcon\Mvc\Model 

這並不重要,因爲上面的例子給出了與UsersStorage對象的結果相同。

回答

1

根據PhalconPHP API, - > dump()必須與var_dump()一起使用。

$myModelClass = SomeClass::find(); 

foreach ($myModelClass as $record) { 
    var_dump($record->dump()); 
    exit; 
} 

$myModelClass = SomeClass::findFirst(1); 
var_dump($myModelClass->dump()); 
exit; 

http://docs.phalconphp.com/en/latest/api/Phalcon_Mvc_Model.html

+0

不幸的是這也導致空數組的轉儲。 – dompie

+1

你能發佈你的完整代碼嗎?我試了一下,它的工作原理。 toArray()和dump()之間的唯一區別是使用dump()可以獲得所有沒有實際映射到db字段的對象屬性。此外,dump()似乎不能直接與find()一起工作。它只適用於findFirst(),如果你對find()結果集執行foreach,則可以在每個結果集上調用dump()。還要確定你在var_dump之後調用exit(),因爲如果允許渲染視圖,Phalcon將不允許輸出。也許它正在工作,空白屏幕是一個虛假的空陣列。 – brian

+0

我編輯了我的第一篇文章來展示我的一些代碼。 – dompie

相關問題