4. データベース用のエンティティクラスを作成する
データベースにアクセスするためには、Entityクラスが必要となります。
Entityクラスはテーブルとリンクし、Entityクラスからテーブルを作成することができます。
今回は、generate:doctrine:entityコマンドを使用して、名前、作成日、更新日をもった
Memberエンティティを作成します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
$ php app/console generate:doctrine:entity --entity=MyDBCommandBundle:Member --format=annotation --fields="name:string(255) createdAt:datetime updatedAt:datetime" Welcome to the Doctrine2 entity generator This command helps you generate Doctrine2 entities. First, you need to give the entity name you want to generate. You must use the shortcut notation like AcmeBlogBundle:Post. The Entity shortcut name [MyDBCommandBundle:Member]: Determine the format to use for the mapping information. Configuration format (yml, xml, php, or annotation) [annotation]: Instead of starting with a blank entity, you can add some fields now. Note that the primary key will be added automatically (named id). Available types: array, simple_array, json_array, object, boolean, integer, smallint, bigint, string, text, datetime, datetimetz, date, time, decimal, float, blob, guid. New field name (press to stop adding fields): Do you want to generate an empty repository class [no]? Summary before generation You are going to generate a "MyDBCommandBundle:Member" Doctrine2 entity using the "annotation" format. Do you confirm generation [yes]? Entity generation Generating the entity code: OK You can now start using the generated code! |
これにより以下のような、クラスが src/My/DBCommandBundle/Entity/Member.php
に作成されます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
id; } /** * Set name * * @param string $name * @return Member */ public function setName($name) { $this->name = $name; return $this; } /** * Get name * * @return string */ public function getName() { return $this->name; } /** * Set createdAt * * @param \DateTime $createdAt * @return Member */ public function setCreatedAt($createdAt) { $this->createdAt = $createdAt; return $this; } /** * Get createdAt * * @return \DateTime */ public function getCreatedAt() { return $this->createdAt; } /** * Set updatedAt * * @param \DateTime $updatedAt * @return Member */ public function setUpdatedAt($updatedAt) { $this->updatedAt = $updatedAt; return $this; } /** * Get updatedAt * * @return \DateTime */ public function getUpdatedAt() { return $this->updatedAt; } } |
これで、Entityクラスの作成は完了です。