hopeter1018/doctrine-dynamic-column-bundle

此包增加了 doctrine 动态列功能

1.0.4 2020-08-03 03:22 UTC

This package is auto-updated.

Last update: 2024-09-29 05:48:54 UTC


README

简介

此包旨在增加 doctrine 动态列。

安装

需要此包

composer require hopeter1018/doctrine-dynamic-column-bundle

添加到内核

Symfony 4+ 或 Symfony Flex

添加 /config/bundles.php

return [
  ...,
  HoPeter1018\DoctrineDynamicColumnBundle\HoPeter1018DoctrineDynamicColumnBundle::class => ['all' => true],
];

Symfony 2+

添加 /app/AppKernel.php

$bundles = [
  ...,
  new HoPeter1018\DoctrineDynamicColumnBundle\HoPeter1018DoctrineDynamicColumnBundle(),
];

添加到 doctrine 配置

doctrine:
  orm:
    entity_managers:
      mappings:
        HoPeter1018DoctrineDynamicColumnBundle: ~

配置

hopeter1018_doctrine_dynamic_column:
  class: 'HoPeter1018\DoctrineDynamicColumnBundle\Entity\DynamicColumnData'
  managers: []

用法

namespace App\Entity;

use HoPeter1018\DoctrineDynamicColumnBundle\Annotation as DynCol;
use HoPeter1018\DoctrineDynamicColumnBundle\Entity\Traits\DynamicColumnTrait;

/**
 * @DynCol\Entity(columns={
 *     "s1": @DynCol\Column(name="s1", type="string", length=255),
 *     "b1": @DynCol\Column(name="b1", type="boolean", length=255),
 *     "datee": @DynCol\Column(name="datee", type="date"),
 * })
 */
class TheEntity
{
    use DynamicColumnTrait;
}

待办事项

  • 增强注解
    • 支持更多的 @ORM*
      • 关系(ManyToOne, ManyToOne, OneToOne)
    • 添加更多属性
  • 支持其他 doctrine 属性类型
    • array
    • simple_array
    • json_array
    • json,
    • object
    • boolean
    • integer
    • smallint
    • bigint
    • string
    • text
    • datetime,
    • datetime_immutable
    • datetimetz
    • datetimetz_immutable
    • date,
    • date_immutable
    • time
    • time_immutable
    • decimal
    • float
    • binary
    • blob
    • guid
    • dateinterval
    • uuid
    • uuid_binary_ordered_time
    • EcCart_Product_StockStatusEnumType
  • 添加命令到
    • 刷新缓存
  • 添加辅助工具到
    • SonataAdmin
    • ApiPlatform
  • 检查不同的 id 类型