简体   繁体   English

pdo :: query fetch_class:如何检索单个结果对象?

[英]pdo::query fetch_class: how to retrieve a single resulting object?

I have a DB table Entity and a corresponding DTO class Entity (no constructor arguments). 我有一个数据库表Entity和一个对应的DTO类Entity (没有构造函数参数)。

When I do this: 当我这样做时:

$entity=$connection->query("Select * FROM Entity WHERE id='1'",
    PDO::FETCH_CLASS,
    'Entity',
    NULL);

Then $entity is a PDOStatement containing one object of class Entity . 那么$entity是一个PDOStatement包含一个Entity类的对象。

How can I retrieve this one Entity object without looping over $entity with a foreach ? 如何在不使用foreach遍历$entity情况下检索此一个Entity对象?

PDOStatment:fetchObject didn't seem like a good solution, because it's going to map the Entity object in the PDOStatement on a new Entity object. PDOStatment:fetchObject似乎不是一个好的解决方案,因为它会将PDOStatementEntity对象映射到新的Entity对象上。

I believe you can do 我相信你能做

$entity = $connection->query("Select * FROM Entity WHERE id='1'",
    PDO::FETCH_CLASS,
    'Entity',
    NULL)->fetch(PDO::FETCH_CLASS);

I've never tried using the query method like that before, so this may not work. 我以前从未尝试过使用这种查询方法,因此这可能行不通。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM