致命错误:无法使用类型为“用户实体用户”的对象作为数组



问题是:

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

错误:

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

我的班级是:

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

public function indexAction()
{
    $offset = 6;
    $page = $this->params()->fromQuery('page');
    if (!$page) {
        $page = 1;
    }
    $dql = "SELECT
            users
         FROM UserEntityUser 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(),
        )
    );
}
}

感谢您的回答!

(文本使我的帖子不是大部分代码)

因为错误说你cant对象用作数组,

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

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

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

我想

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

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

最新更新