我想从拍卖表的 id 列中获取一组值。
如果这是一个原始 SQL 我会写:
SELECT id FROM auction
但是当我在 Doctrine 中执行此操作并执行时:
$em->createQuery("SELECT a.id FROM Auction a")->getScalarResult();
我得到一个像这样的数组:
array(
array('id' => 1),
array('id' => 2),
)
相反,我想得到一个像这样的数组:
array(
1,
2
)
我怎样才能使用 Dotrine 做到这一点?
PHP
您可以使用array_map
,并且由于每个数组只有一个项目,因此您可以优雅地使用'current'
作为回调,而不是编写closure https://stackoverflow.com/a/11685062/2943194.
$result = $em->createQuery("SELECT a.id FROM Auction a")->getScalarResult();
$ids = array_map('current', $result);
See Petr Sobotka 的回答如下 https://stackoverflow.com/a/22424012/133717有关内存使用情况的更多信息。
PHP >= 5.5
As jcbwlkr 的回答如下 https://stackoverflow.com/a/26061738/133717,推荐使用方式array_column
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)