学说查找通过参数自取



很多时候,我必须在$someObject是预填充对象findBy(array('criteria'=> $someObject)这样做。我的问题是:是否有一个内置函数,给定$someObject id和他的实体类型从数据库中获取他,然后从上面执行findBy???像这样:

public function findByDiscriminator($slave, $idSlave, $discriminator, $discriminatorCriteria)
{
    $slaveManager = $this->container->get('doctrine')->getRepository("AppBundle:$slave");
    $slaveEntity = $slaveManager->find($idSlave);
    return $this->findAllByCriteria(array($discriminatorCriteria => $slaveEntity), 0, 0, $discriminator);
}
public function findAllByCriteria($criteria, $limit = 0, $offset = 0, $repository)
{
    $total = $limit * $offset;
    $start = $limit * ($offset - 1);
    $spamManager = $this->container->get('doctrine')->getRepository("AppBundle:$repository");
    $spam = $spamManager->findBy($criteria, array(), $total != 0 ? $total : null, $start != 0 ? $start : null);
    return $spam;
}

如果,比方说,我需要获取供应商ID为456的所有杂货,我会像这样查询 DAO->findByDiscriminator('SupplierEntity', 456, 'GroceryEntity', 'supplier')假设杂货店实体中有一个名为供应商的字段。

基本上是一个findBy((,它在查询之前从数据库中获取条件

据我所知,教义提供的 findBy 方法没有这样的内置包装器。您可以在某个基类中定义它们,然后通过您的 doctrine 数据访问对象继承它,这最终将为您正在寻找的代码带来可重用性。

相关内容

  • 没有找到相关文章

最新更新