小编Yss*_*ssn的帖子

学说不存在子查询

我在存储库中有这段代码:

 public function getNotAssignedBy($speciality, $diploma)
{
    $qb = $this->createQueryBuilder('j')
        ->select('DISTINCT(j.id) id', 'j.firstName', 'j.lastName', 'j.dateBirth', 'j.sex')
        ->leftJoin('j.qualifications', 'q')
    ;


    if ($speciality) {
        $qb->andWhere('q.speciality = :speciality_id')->setParameter('speciality_id', $speciality);
    }
    if ($diploma) {
        $qb->andWhere('q.diploma = :diploma_id')->setParameter('diploma_id', $diploma);
    }

    $result = $qb->getQuery()->getResult();

    return $result;
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能获得另一个实体中不存在id的行?

任何帮助.谢谢

php symfony doctrine-orm

8
推荐指数
1
解决办法
1万
查看次数

Symfony2:Doctrine MySql数学函数

我试着按年龄段计算人数.

AGEBRACKET | NBR
    10     |  3
    20     |  14
    30     |  123
    40     |  4
    50     |  55
...
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

$qb = $em->createQueryBuilder();
    $qb->select('FLOOR((YEAR(CURDATE())-YEAR(p.date_birth)) / 10) * 10 AS age, COUNT(p.id)');
    $qb->from('MyBundle:Person', 'p');
    $qb->groupBy('age');
    $countByAge = $qb->getQuery()->execute();
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

[语法错误]第0行,第7列:错误:预期的已知函数,得到'FLOOR'

我看一点解决方案,这就是我发现的:

<?php
namespace MyProject\Query\AST;

use \Doctrine\ORM\Query\AST\Functions\FunctionNode;
use \Doctrine\ORM\Query\Lexer;

class MysqlFloor extends FunctionNode
{
    public $simpleArithmeticExpression;

    public function getSql(\Doctrine\ORM\Query\SqlWalker $sqlWalker)
    {
        return 'FLOOR(' . $sqlWalker->walkSimpleArithmeticExpression(
            $this->simpleArithmeticExpression
        ) . ')';
    }

    public function parse(\Doctrine\ORM\Query\Parser $parser)
    {
        $lexer = $parser->getLexer();

        $parser->match(Lexer::T_IDENTIFIER);
        $parser->match(Lexer::T_OPEN_PARENTHESIS);

        $this->simpleArithmeticExpression …
Run Code Online (Sandbox Code Playgroud)

php mysql symfony doctrine-orm

5
推荐指数
1
解决办法
1845
查看次数

Symfony DomCrawler

我在 Symfony 中使用 DomCrawler。

$variable = 'value';
$crawler->filter('table > tr')->each(
    function ($node, $i) {
        // $variable;
    }
);
Run Code Online (Sandbox Code Playgroud)

我尝试访问函数内部的变量,但出现错误:未定义变量。

如何在函数内部调用这个变量?

php symfony domcrawler

1
推荐指数
1
解决办法
792
查看次数

标签 统计

php ×3

symfony ×3

doctrine-orm ×2

domcrawler ×1

mysql ×1