如何在Doctrine Symfony2上创建虚拟列
我有两张桌子
table Company
---------------------------------
id | company_name | address
---------------------------------
1 | sample Co Ltd | NY
2 | company Co Ltd | LA
---------------------------------
table Ships
---------------------------------
id | compa
我正在尝试创建一个简单的查询,以便在一个查询中获取所有相关实体(参见)。由于某些原因,学说遇到了错误:
调用PersistentCollection中非对象上的成员函数add()
完全堆栈跟踪:
Error: Call to a member function add() on a non-object in \vendor\doctrine\orm\lib\Doctrine\ORM\PersistentCollection.php line 177
at n/a
in \vendor\doctrine\orm\lib\Doctrine\ORM\Persiste
我正在使用CodeIgniter2 + Doctrine2,并有以下查询:
$query = $this->doctrine->em->createQuery("
SELECT u
FROM ORM\Dynasties2\Characters u
WHERE u.fathersId = $key
AND u.deathDate IS NULL
AND u.isRuler = '0'
AND u.isFemale = '0'
我正在从事一个基于Symfony 2.8的项目,该项目允许user放置一个order。
现在,我想创建一个Doctrine查询,它返回users的数量,它正好是一个order。我以为这很容易,但我花了好几个小时.
选择用户及其订单数量
从步骤1的结果中选择所有具有order_count = 1的用户
通过在步骤2的结果中只从用户处选择订单和添加条件(例如status = completed),应用更多的过滤器
在SQL中,以下操作可以很好地解决步骤1:
SELECT user_id, COUNT(*) as count FROM order WHERE status = &
我尝试根据查询结果是否与属性上的原始实体匹配来对它们进行排序。我可以通过以下查询在mySQL中轻松完成此操作:
SELECT * FROM table
ORDER BY prop = 'value' DESC;
但是,在Doctrine中,当我尝试以下操作时:
// $qb is an instance of query builder
$qb->select('e')
->from('Entity', 'e')
->orderBy('e.prop = :value', 'DE
它在一段时间前就起作用了,但现在出于某种原因,它会产生异常。我有自定义用户实体,它扩展了FOS用户:
namespace AppBundle\Entity;
use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass="AppBundle\Repository\UserRepository")
* @ORM\Table(name="fos_user")
*/
class User extends Ba
我试图从Zend2 / Doctrine2映射一个工作结果,以循环我的index.phtml中的结果。
我的查询如下:
SELECT
m.id,
t.name,
m.track_id,
m.date,
min(r.date) as minpost,
max(r.date) as maxpost,
count(r.id) as races
FROM
Meeting m, Track t, Race r
WHERE
m.track_id = t.id and r.meeting_id = m.id and m.d
我在Symfony2/Doctrine2项目中运行脚本。
我收到了Doctrine\DBAL\Exception\UniqueConstraintViolationException异常。
An exception occurred while executing
'INSERT INTO user (name, created_at) VALUES (?, ?)'
with params ["Gaurav" "2016-07-31 17:10:54"]:
SQLSTATE[23000]: Integrity
我想对Doctrine查询返回的实体按计算的标量值进行排序。在简化的DQL中类似这样:
SELECT a, SOMEFUNC(a.foo,a.bar) AS b
FROM MyStuff:Thing a
ORDER BY b
排序是有效的,但是我实际上并不需要标量值b,它只是用于排序;我只需要返回Thing实体。
但是,对于这个查询,返回的每个结果都是一个数组,其中根对象位于[0],然后是冗余的标量值[1]。这很有道理,但这不是我想要的,我不知道如何让Doctrine忽略它的值。
这种排序应该如何使用Doctrine来完成呢?如何在不选择的情况下执行此排序?
我有以下使用IN语句的查询。
$ids = array(1,2,3);
$query = 'select o from Organisation o where o.id in (:ids)';
$this->_entityManager->createQuery($query)
->setParameter('ids', implode(', ', $ids))
Doctrine没有返回任何结果,我认为这是因为Doctrine对传递的参数$ids进行了转换,这是一个数组。
如何让它工作?
我在两个实体之间有一个ManyToOne关系: Usuario和Departamento,一些用户没有任何部门,我想使实体Usuario中的字段部门变为空,如何使this.My代码看起来如下:
<?php
namespace CECMED\TarifaBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Security\Core\User\UserInterface;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
u
我有这个问题,因为我已经将我的网站移动到其他服务器。配置是一样的,有什么提示吗?
文件:
/var/www/page/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php:71
消息:
An exception occurred while executing 'SELECT s0_.id AS id_0, s0_.answer AS answer_1, s0_.users_usrId AS users_usrId_2, s0_.question AS question_3 FROM secret_a
我想让这个sql查询符合doctrine:
SELECT *
FROM (
(SELECT *, e1.stop_date as sort_date FROM `event` e1 WHERE ...)
UNION
(SELECT *, e2.start_date as sort_date FROM `event` e2 WHERE ...)
) e3
ORDER BY e3.sort_date
我希望symfony模型的结果连接到事件表,就像使用:
Doctrine_Core::getTable('Event')->createQuery('