2014-02-20 190 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);