2014-02-20 102 views
-3

我正在Cake Cake上工作。請給我一個解決方案來解決這個問題:Array to string conversion cakephp

Controller.php這樣:

public function test() { 
    $this->set('users_list', $this->User->find('list', array('fields' => array('User.id', 'User.fullname')))); 
} 

test.ctp:

<?php echo $users_list ?> 

錯誤:

Throws error : Array to string conversion php

我需要顯示值。

+0

顯示在您使用'users_list'的代碼。即您的視圖文件代碼恰好位於錯誤所在的位置。 – Rikesh

+0

大概你想做一些像'<?php foreach($ users_list as $ user){echo $ user-> fullname。 「
」; }'。我並不是說這會以書面形式達到100%,但至少應該讓你朝着正確的方向前進。 –

+4

在嘗試使用框架之前學習php語言的基礎知識可能是一個好主意嗎? – burzum

回答

0

test.ctp:

<?php echo "<pre>";print_r($users_list);echo "</pre>"; ?> 

爲查找的結果將是一個數組因此上述線路將打印$所有元素USER_LIST陣列,現在你可以根據自己的邏輯來使用這個數組,例如你可以使用foreach()來獲取這個數組的各個元素。

希望上面的解釋足以讓您理解!

0

事實上,你將不會有字符串在視圖中。試着首先加載你的模型。

public function test() { 
    $this->loadModel('User'); 
    $this->set('users_list', $this->User->find('list', array('fields' => array('id','fullname')))); 
} 

這應該給你的用戶列表的視圖陣列

觀點:

<?php var_dump($users_list); ?> 
0

你的功能應該是這樣的:

public function test() { 
    $this->set('users_list', $this->User->find('all', array('fields' => array('User.id',   'User.fullname')))); 
} 
在您的視圖

然後你應該做一個foreach循環來輸出這樣的值:

foreach($users_list as $ul){ 
    echo 'This is the id: '.$ul[0]['User']['id']; 
    echo ' This is the full name: '.$ul[0]['User']['fullname']; 
} 

這將是我會怎麼做,但我不知道的方式,如果它的最好的一個

,如果你想要的東西更容易,你可以打印一個數組:

print_r($users_list);