Doctrine annotaion返回子表中的空记录

时间:2016-08-08 13:00:30

标签: symfony annotations doctrine

我想通过使用doctrine注释返回所有子记录和那些具有null外键值的记录。 这是用户实体:

export default class Item extends React.Component {
  render() {
    return (
      <div onClick={this.props.handleClick}>Some content.>
      </div>
      )
  }
}

Item.propTypes = {
  onClick: PropTypes.func.isRequired
}

export default class Container extends React.Component {

  render() {
    const handleClick = () => {
      // Do something.
    }
    // render here the item and passing it my onClick method.
    render () {
      return (
        <Item handleClick={handleClick} />
      );
    }
  }
}

Container.propTypes = {
  item: PropTypes.element.isRequired
}

这是交付方法实体(包含子行的表):

....
    /**
     * @ORM\OneToMany(targetEntity="AppBundle\Entity\DeliveryMethods", mappedBy="owner")
     */
    private $delivery_methods;

....

我需要在注释中做出哪些改变?

由于

1 个答案:

答案 0 :(得分:0)

您可以编写一个新的repository类并添加如下内容:

class DeliveryMethodsRepository extends EntityRepository {

    /**
     * 
     * @param type $owner
     * @return type
     */
    public function getOwnerAssociatedOrOrphanEntities($ownerId) {

        $qb = $this->createQueryBuilder("dm")
            ->andWhere("dm.owner = :owner OR dm.owner = NULL")
            ->setParameter("owner", $ownerId);

        return $qb->getQuery()->execute();
    }
}

DeliveryMethod的{​​{1}}存储库中调用此方法。

请注意:您也可以在任何Controller方法中编写自定义Controller

希望它有所帮助!