代码之家  ›  专栏  ›  技术社区  ›  b126

如何将计算/公式字段添加到条令实体中?

  •  0
  • b126  · 技术社区  · 6 年前

    @Formula 条令实体中的注释。

    我的问题是关于 datetime 我希望以特定格式呈现的字段(RFC2822),以便在Datatables javascript中轻松使用。

    我想避免使用 render 数据表中的功能。 我想像往常一样使用这个实体 QueryBuilder . 我已经试着实施了 JsonSerializable 在我的实体中创建一个类,它工作得很好,但是许多底层关联没有正确地进行json_编码。

    以下是我的实体样本:

    /**
     * @ORM\Table(name="user")
     * @ORM\Entity
     */
    class User{
    
    /**
     * @var int
     *
     * @ORM\Column(name="id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $id;
    
    /**
     * @var \DateTime|null
     *
     * @ORM\Column(name="start_date", type="date", nullable=true)
     */
    private $startDate;
    
    //Getters & setters...
    }
    

    $qb = $this->getEntityManager()->createQueryBuilder();
    $qb->select('l, u')
        ->from('User', 'u')
        ->join('u.location', 'l')
        ->where('u.userId=1');
    $data['json']=$qb->getQuery()->getResult();
    

    使用 getArrayResult()

    我想创建一个新方法(或者一个私有静态字段),比如 getStartDateRFC() 在我的实体中:

    public function getStartDateRFC(){
        return $this->startDate->format(DateTime::RFC2822);
    }
    

    有没有可能不用重磅炸弹 Custom Mapping Types 来自教义?

    0 回复  |  直到 6 年前