2017-03-14 15 views
1

誰かが助けてくれますか?私は、ショッピングカートを作成し、このSQLを持ってしようとしているが、私はエンティティにそれをしたい:Symfony/Doctrine - エンティティへのSQL

CREATE TABLE `customers` (
`id` int(11) NOT NULL AUTO_INCREMENT, 
`name` varchar(100) COLLATE utf8_unicode_ci NOT NULL, 
`email` varchar(100) COLLATE utf8_unicode_ci NOT NULL, 
`phone` varchar(15) COLLATE utf8_unicode_ci NOT NULL, 
`address` text COLLATE utf8_unicode_ci NOT NULL, 
`created` datetime NOT NULL, 
`modified` datetime NOT NULL, 
`status` enum('1','0') COLLATE utf8_unicode_ci NOT NULL DEFAULT '1', 
PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; 

CREATE TABLE `products` (
`id` int(11) NOT NULL AUTO_INCREMENT, 
`name` varchar(200) COLLATE utf8_unicode_ci NOT NULL, 
`description` text COLLATE utf8_unicode_ci NOT NULL, 
`price` float(10,2) NOT NULL, 
`created` datetime NOT NULL, 
`modified` datetime NOT NULL, 
`status` enum('1','0') COLLATE utf8_unicode_ci NOT NULL DEFAULT '1', 
PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; 

CREATE TABLE `orders` (
`id` int(11) NOT NULL AUTO_INCREMENT, 
`customer_id` int(11) NOT NULL, 
`total_price` float(10,2) NOT NULL, 
`created` datetime NOT NULL, 
`modified` datetime NOT NULL, 
`status` enum('1','0') COLLATE utf8_unicode_ci NOT NULL DEFAULT '1', 
PRIMARY KEY (`id`), 
KEY `customer_id` (`customer_id`), 
CONSTRAINT `orders_ibfk_1` FOREIGN KEY (`customer_id`) REFERENCES `customers` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; 

CREATE TABLE `order_items` (
`id` int(11) NOT NULL AUTO_INCREMENT, 
`order_id` int(11) NOT NULL, 
`product_id` int(11) NOT NULL, 
`quantity` int(5) NOT NULL, 
PRIMARY KEY (`id`), 
KEY `order_id` (`order_id`), 
CONSTRAINT `order_items_ibfk_1` FOREIGN KEY (`order_id`) REFERENCES `orders` (`id`) ON DELETE CASCADE ON UPDATE NO ACTION 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; 

私は教義にORDER_ITEMSを作成することができますどのように?それは私が思うには多くの関係にありますが、さらに2列あります。あなたは多くの関係するために、多くのに添付の属性を持つようにしたい場合は

は単純に別のエンティティを作成し、あなたの教義で

+0

あなたはこれまでに何を試しましたか?どこで失敗しましたか? – mickdev

答えて

0

ありがとうございます。このエンティティは、他の2つのエンティティにリンクされた2つのM-1関係を持ちます。OrderItemエンティティはに関連付けられています。および 1-M関係のテーブル基本的に2つのSQLの外部キー)と、それ自身のための多くの属性を必要に応じて追加します。

関連する問題