gpt4 book ai didi

php - 如何在 Zend Framework2 上使用 PHP 通过 Doctrine 2 ODM 在 MongoDB 中执行查询?

转载 作者:可可西里 更新时间:2023-11-01 09:55:44 26 4
gpt4 key购买 nike

I've attached sample code here. The query returns the entire db's mapping instead of the data being queried for, or an error with the Abstract-Hydrator class.

Here's the code for the mapper:-

    <?php


namespace HelpostApi\Document;
use Doctrine\ODM\MongoDB\Mapping\Annotations as ODM;

/** @ODM\Document(collection="posts") */

class Post
{

/** @ODM\Id */
private $id;

/** @ODM\Field(type="string") */
private $postTitle;
/**
* @param field_type $postTitle
*/
public function setPostTitle($postTitle)
{
$this->postTitle = $postTitle;
}
/**
* @param field_type $postTitle
*/
public function getPostTitle()
{
return $this->postTitle;
}
}
?>

And here's the code for controller, incorporating the query function:-

    <?php 
namespace HelpostApi\Controller;

use Zend\Mvc\Controller\AbstractRestfulController;
use HelpostApi\Document\Post;

class PostController extends AbstractRestfulController {
public function getList()
{
$dm = $this->getServiceLocator()->get('doctrine.documentmanager.odm_default');
print_r( $dm->createQueryBuilder('HelpostApi\Document\Post')
->hydrate(false)
->getQuery()
->getSingleResult()
->execute()
);
}

?>

最佳答案

如果您的查询很简单,您可能更愿意使用其中一种内置的 ODM 方法:

$this->dm->getRepository('HelpostApi\Document\Post')->find($id);

$criteria=array('key'=>'value');
$this->dm->getRepository('HelpostApi\Document\Post')->findOneBy($criteria);

每个将返回单个 HelpostApi\Document\Post 对象或 NULL。

关于php - 如何在 Zend Framework2 上使用 PHP 通过 Doctrine 2 ODM 在 MongoDB 中执行查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25258891/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com