2017-06-26 13 views
2

json形式に基づいてdoctrine2エンティティを生成することができるかどうか自問しています。このようなJSON形式に基づいてSymfony Doctrine2エンティティを生成する

何か:

"address": { 
     "postal_code": "91512" 
}, 

/** 
* @ORM\Entity 
* @ORM\Table(name="Adress") 
*/ 
class Adress{ 

    /** 
    * @var string // ideal should be integer 
    */ 
    protected $postalCode; 
} 

よろしくなった可能性があります。

+1

はい可能です。これを達成したい場所(コントローラなど)の詳細について、いくつかの情報を提供する必要があります。 'SensioFrameworkExtraBundle'に含まれている[ParamConverterのドキュメント](http://symfony.com/doc/current/bundles/SensioFrameworkExtraBundle/annotations/converters.html)をご覧ください。 – lordrhodos

答えて

2

私はあなたの質問に答えるかどうか分かりません。 JSONをYAML(https://www.json2yaml.com/)に最初に変換しようとしましたか? あなたはYMLを持っている場合、あなたはコンソールコマンドを

php bin/console generate:doctrine:entities yourBundle 

を使用することができますドキュメントはこちらです:たとえばhttps://symfony.com/doc/current/doctrine.html#generating-getters-and-setters

、このJSONで:

{ 
    "AppBundle\\Entity\\Product": { 
    "type": "entity", 
    "table": "product", 
    "id": { 
     "id": { 
     "type": "integer", 
     "generator": { 
      "strategy": "AUTO" 
     } 
     } 
    }, 
    "fields": { 
     "name": { 
     "type": "string", 
     "length": 100 
     }, 
     "price": { 
     "type": "decimal", 
     "scale": 2 
     }, 
     "description": { 
     "type": "text" 
     } 
    } 
    } 
} 

あなたはこのYAMLを推測することができます

# src/AppBundle/Resources/config/doctrine/Product.orm.yml 
AppBundle\Entity\Product: 
    type: entity 
    table: product 
    id: 
     id: 
      type: integer 
      generator: { strategy: AUTO } 
    fields: 
     name: 
      type: string 
      length: 100 
     price: 
      type: decimal 
      scale: 2 
     description: 
      type: text 

その後、次のコマンドを実行できます。

php bin/console doctrine:generate:entities AppBundle/Entity/Product 
関連する問題