Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony:在所有数组中获得相同的函数_Php_Sql_Arrays_Symfony_Doctrine - Fatal编程技术网

Php Symfony:在所有数组中获得相同的函数

Php Symfony:在所有数组中获得相同的函数,php,sql,arrays,symfony,doctrine,Php,Sql,Arrays,Symfony,Doctrine,我有两个疑问: $queryHisto = $repo->createQueryBuilder('h'); $queryHisto->select('h', 'c') ->join('h.season', 's', 'WITH', 'h.player = ?1') ->join('h.club', 'c') ->orderBy('s.year', 'ASC')

我有两个疑问:

$queryHisto = $repo->createQueryBuilder('h');
    $queryHisto->select('h', 'c')
               ->join('h.season', 's', 'WITH', 'h.player = ?1')
               ->join('h.club', 'c')
               ->orderBy('s.year', 'ASC')
               ->setParameters(['1' => $id]);
    $playerInfo = $queryHisto->getQuery()->getResult();

    

    $queryDivision =$manager->createQuery('SELECT c FROM App\Entity\Classement c JOIN c.clubHistos h WHERE h.club = :club AND c.season = :season');
    $queryDivision->setParameters(['club' => $playerInfo[0]->getClub(), 'season' => $playerInfo[0]->getSeason()]);
    $division = $queryDivision->getResult();

这样写,我的第二个查询将只获得第一个查询的第一个数组的俱乐部和季节,因为
playerInfo[0]
。如何从第一次查询的所有数组中获取
getClub()
getseasure()
函数?

研究如何执行
WHERE。。。在
中,使用生成器查询并传递映射数组(对这两个参数都使用
$playerInfo
上的
array\u map
)。不过,这可能应该合并到一个查询中,因为数据是明确连接的。感谢您的回答。我不明白为什么我的查询中需要一个
IN
语句?当我在phpMyAdmin中尝试时,该查询获取我想要的内容。至于数组映射,我如何在我的setParameters()函数中实现它?如果要匹配多个值(这是我理解的您想要实现的),您需要在中使用
。对参数使用
array\u map
没有什么特别之处。您只需映射整个数组两次,第一次调用所有元素上的
getClub()
,第二次调用
getseasure()
。我对Symfony很陌生,但当我映射时,
$qc=array\u map(“getClub()”,$playerfo)
会给我一个错误:期望参数1是有效的回调函数'getClub()'未找到或函数名无效