猿问

动态更新存储库查询

我正在使用 OSX Catalina,并试图增加 PHP 的内存限制 - 无论我在哪里查找,我都找不到正确的 PHP ini 文件来更改此设置。


php -v

PHP 7.3.11 (cli) (built: Apr 17 2020 19:14:14) ( NTS )

Copyright (c) 1997-2018 The PHP Group

Zend Engine v3.3.11, Copyright (c) 1998-2018 Zend Technologies


php --ini

Configuration File (php.ini) Path: /etc

Loaded Configuration File:         (none)

Scan for additional .ini files in: (none)

Additional .ini files parsed:      (none)

当我去 /etc 时我看到:


-rw-r--r--  1 root  wheel   5331 14 Dec  2019 /etc/php-fpm.conf.default

-r--r--r--  1 root  wheel  71890 14 Dec  2019 /etc/php.ini.default

-r--r--r--  1 root  wheel  71055  1 Apr  2018 /etc/php.ini.default-previous

-r--r--r--  1 root  wheel  71055  1 Apr  2018 /etc/php.ini.default-previous~orig

所以看起来没有 php.ini 文件能够更改内存限制,但我认为必须有,那么我如何找到它?我在存储库中创建了一个查询。由于通过函数发送的参数,我想更改此查询中的一些元素(例如 where 条件、排序等)。


该函数工作并返回数据:


public function dashboardIndex($offset, $limit, $order)

{

    $query = $this->createQueryBuilder('v')

    ->setFirstResult($offset)

    ->setMaxResults($limit)         

    ->getQuery()

    ->getResult()

    ;

    return $query;

}

添加动态“addOrderBy”不起作用并且不返回数据


public function dashboardIndex($offset, $limit, $order)

{

    $query = $this->createQueryBuilder('v');

    

    /* Sort dynamically  $order = ['column1' => 'ASC', 'column2' => DESC, ...] */

    foreach($order as $column => $direction){

        $query->addOrderBy('v.'.$column , $direction);

    }       

    /* Sort dynamically */

    

    $query->setFirstResult($offset)

    ->setMaxResults($limit)         

    ->getQuery()

    ->getResult()

    ;

    return $query;

}

“createQueryBuilder”返回一个对象,但不能在整个函数中修改它吗?


慕的地10843
浏览 85回答 1
1回答

BIG阳

显而易见的说法是显而易见的:要返回查询结果,您必须返回查询结果。因此return $query;不返回结果,而是返回查询。更好的:return $query->getQuery()->getResult();
随时随地看视频慕课网APP
我要回答