php - Symfony 左连接查询

标签 php mysql symfony1

我得到了正确运行的以下查询:

$q = $this->createQuery('e')
     ->where('e.Persons_idUser =?', $request)
     ->leftJoin('e.JobTitles jt')
     ->leftJoin('e.EmploymentLevels el');

但是当我迭代结果并尝试从左连接访问字段时:

 foreach ($work as $w){
   echo $w->employername;
   echo $w->jobtitle; // this is from the left join
   echo $w->employmentlevel; // this is from the left join
 }

我收到以下错误消息: “体验”上的未知记录属性/相关组件“jobtitle”

有人知道吗?如何从左连接回显字段?

最佳答案

<?php
    foreach ($work as $w){
        echo $w->employername;
        foreach($w->JobTitles as $job){
            echo $job->jobtitle; // this is from the left join
        }
        foreach($w->EmploymentLevels as $employ){
            echo $employ->employmentlevel; // this is from the left join
        }
    }

?>

这将起作用,因为 symfony 返回对象数组,并且连接表中的元素位于子数组下

关于php - Symfony 左连接查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4194514/

相关文章:

PHPUnit 覆盖现在不完整,因为类的左大括号没有被覆盖

php - 无法在 WAMP 的 phpmyadmin 中增加文件上传大小和执行时间

php - 查找数组中是否存在键

java - 刷新 jtable 的内容

php - 仅为一列插入不同的值

php - 如何在 Symfony 1.4 中运行任务时使用更少的内存?

php - 从类 2 调用类 1 的函数而不扩展?

php - 使用 CentOS 8 在 PHP 7.4 中安装 pdo_sqlsrv 驱动程序

Mysql连接匹配每个表中的多行

php - 我可以仅在操作为 'new' 时才需要 symfony sfValidatorFile 吗?