mysql - 如何获得关联实体对象 doctrine2

标签 mysql doctrine-orm entity associate

如何获得关联实体对象学说2。我有 "userId" 的值,现在我正在尝试获取 "apartmentId" 的值。但它显示了类似----的错误 执行 'SELECT user_publishers(publisherId) VALUES (347) ' 时发生异常:

SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有误;检查与您的 MySQL 服务器版本对应的手册,了解在第 1 行的“VALUES (347)”附近使用的正确语法

这就是我试图获取“apartmentId”值的方式---

$selectData = "SELECT user_apartments(apartmentId) VALUES ($userId) ";

        $selectData = $em->getConnection()->prepare($selectData); 
        $selectData->execute();

        print_r($selectData);

enter image description here

谁能帮我解决这个问题。先谢谢了。

最佳答案

您的语法不正确。如果你想使用原生的 sql 查询,你应该遵循这些原则:

示例:

<?php
use Doctrine\ORM\Query\ResultSetMapping;

$rsm = new ResultSetMapping();
// build rsm here

$query = $entityManager->createNativeQuery('SELECT id, name, discr FROM users WHERE name = ?', $rsm);
$query->setParameter(1, 'romanb');

$users = $query->getResult();

来源: http://doctrine-orm.readthedocs.org/en/latest/reference/native-sql.html

不过,您最好将表映射为原则中的实体并使用存储库的 findBy 方法。

示例:

$em = new EntityManager();
$criteria = array('name' => 'someValue', 'status' => 'enabled');
$result = $em->getRepository('SomeEntity')->findBy($criteria);

来源: https://stackoverflow.com/a/8432032/2853903

注意:上面的代码片段仅供引用,未经测试。

关于mysql - 如何获得关联实体对象 doctrine2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31605218/

相关文章:

出租车服务的 MySQL 数据库设计,需要建议

php - Doctrine 自动将我的文本字段的长度限制为 64512 个字符

c# - 我应该在 DDD 中的什么地方进行独特的检查?

c# - 通过 CRM-web 服务更新 Dynamics CRM 4 中的实体需要很长时间

php - 查询元素列表

mysql - 为什么将数据拆分到多表中并不能提高性能?

mysql - 在 2 个不同列中的小时之间选择一个小时

php - 在 Doctrine 2 的一个领域中处理多个关系

php - Doctrine Repository getEntityManager() 确实返回空

postgresql - 如何让 Npgsql 与 EF4 一起工作?