致命错误:无法将 User\Entity\User 类型的对象用作数组

问题描述 投票:0回答:2

问题是:

<?php foreach ($users as $user): ?>
<?php $user = $user[0] ?>

错误:

=> Fatal error: Cannot use object of type User\Entity\User as array in ../module/User/view/user/index/index.phtml

我的班级是:

class IndexController extends ApplicationController
{
/**
 * Store the user.
 * @var \User\Entity\User
 */
protected $_user;



public function indexAction()
{
    $offset = 6;
    $page = $this->params()->fromQuery('page');
    if (!$page) {
        $page = 1;
    }

    $dql = "SELECT
            users
         FROM User\Entity\User users

        GROUP BY users.id
        ORDER BY " . $this->getOrderDql();

    $query = $this->objectManager()
        ->createQuery($dql)
        ->setFirstResult(($page - 1) * $offset)
        ->setMaxResults($offset);

    $users = new Paginator($query, $fetchJoinCollection = true);
    $quantity = (int) ceil($users->count() / $offset);

    return new ViewModel(
        array(
            'users' => $users,
            'offset' => $offset,
            'page' => $page,
            'quantity' => $quantity,
            'order' => $this->getOrderValue(),
        )
    );
}

}

感谢您的回答!

(使我的帖子主要不是代码的文字)

php zend-framework zfcuser zfdoctrine
2个回答
0
投票

正如错误所示,您

cant
将对象用作数组,

您需要按以下方式访问该对象,

$user->'keyname';
$user->'filedname'
而不是
$user[0]

其中键名或字段名称是您要检索的字段的名称。


0
投票

我认为 $users 是 $user 的数组。因此,当使用 foreach $user 时,它就成为用户字段数组的单个实例。然后你必须访问这样的字段

<?php foreach ($users as $user): ?>
<?php $id = $user['id'] ?>
© www.soinside.com 2019 - 2024. All rights reserved.