Symfony2:如何使用理论来选择数据库中的所有字段而没有垃圾数据

黯然失色

我只是意识到,在symfony中,如果您不提及特定字段,则该学说将返回许多垃圾数据,例如调试时间等。我们如何仅使用字段结果来查询所有数据库字段?示例:SELECT * FROM user WHERE username ='abc',则它将仅返回用户表中的所有字段,不包括那些垃圾数据。

$q = $this
     ->createQueryBuilder('u')
     ->where('u.username = :username')
     ->setParameter('username', $username)
     ->getQuery();

try {
    // The Query::getSingleResult() method throws an exception
    // if there is no record matching the criteria.
    $user = $q->getSingleResult();
    var_dump($user);
} catch (NoResultException $e) {
     $user = false;
}

上面代码的结果:

在此处输入图片说明

我不需要所有这些数据,我只需要数据中的字段。非常感激你的帮助。谢谢你。

达米安·波拉克(Damian Polac)

那不是垃圾。它可能是整个学说,因为您的对象已经引用了它。您想摆脱学说吗?教义具有许多您通常不会想到的内部机制,因为...好吧...它是ORM,而不仅仅是查询和平面对象。

您从数据库中获得的唯一信息就是所需的数据,而且学说不会执行无用的查询。

我认为您只是不完全了解该理论是如何工作的。实际上,您确实想要整个对象。这是该学说的重点-将数据库映射到对象。那就是“ ORM”的意思。这是主要功能,而不是缺陷。


但是有时您确实只需要纯数据而没有所有原则。你可以得到的。只需将水合作用更改为数组即可(有关水合作用的更多详细信息,请查阅学说文档)。采用

$q->getSingleResult(\Doctrine\ORM\Query::HYDRATE_ARRAY);

如果仅选择某些字段而不是整个对象,则默认情况下也会发生这种情况。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从数据库中的现有数据生成子弹字段-Doctrine Symfony2

symfony2-标记选项是根据来自数据库的数据来选择的-没有教义

如何使用Symfony原理从数据库中克隆所有数据?

Symfony:理论过程d:s:u,但是数据库没有变化

为什么没有使用两个选择字段从数据库中显示任何数据?

如何使用聚合检查MongoDB数据库中的所有文档的特定字段的最新值?

没有从数据库中获取所有行

Symfony从数据库表中获取所有字段名称

如何使用学说从Symfony2中的数据库表中获取值列表?

如何使用Firebase实时数据库中的键值或字段键删除所有字段和值?

更新数据库中的所有DATETIME字段

从Laravel中的数据库模型获取所有字段

如何使用symfony2和主义从数据库中手动查询

如何从数据库中选择所有不同的行?

如何选择本地数据库表的所有行

Laravel没有选择数据库

没有选择数据库

如何查看数据库中的所有数据?

Mysql中没有数据库选择错误

在psycopg2中没有Postgres数据库的所有特权

我正在尝试通过使用PHP的查询来更新数据,但数据库中的数据没有变化

从Symfony2中的数据库中获取字段

单击下拉列表中没有值字段或文本字段的选择时,如何从数据库中显示标签/文本框上的其他列

使用Laravel中的Eloquent选择数据库中除最近行以外的所有行

如何从数据库中删除所有字段都相同的记录?

如何使用Django查询检查数据库字段的所有值是否相同

如何从数据库中的表中获取所有数据并使用php显示呢?

使用PHP一次更新数据库中的所有字段

数据库表中的Symfony2字段顺序