我需要一些帮助来处理小型symfony应用程序中的某些关系。我有以下结构:
Order
Customer
CustomerOrder
CustomerOrder有一个PK,id,我有两列:Order和Customer表中的order_id和customer_id。客户可以拥有多个订单,而订单只有一个客户。在我的表单中,我如何更改它们以反映这一点?
顺便说一句,我不是在问如何创建模式,而是如何自定义表单以匹配关系行为。
答案 0 :(得分:2)
您是否考虑过在Symfony 1中使用内置的多对多关系? http://www.symfony-project.org/doctrine/1_2/en/04-Schema-Files此页面标题为“多对多”。我建议你仔细阅读,你可能会看到你提出的问题的答案。
答案 1 :(得分:0)
这两个都很简单:
How to add the customer in the order form?
假设您的架构/模型构造正确,并且如果您已在lib / model / Customer.class.php中创建了魔术方法__toString(),那么您应该能够在默认订单中看到一个选择的客户框形成。
How to add all the orders in the customer form?
目前还不清楚你想要什么。如果您想在订单表格上查看与客户相关的所有订单,您可以在CustomerOrderPeer中创建一个方法,检索特定客户的所有订单,如下所示:
$this->CustomerOrders = CustomerOrderPeer::getOrdersByCustomer($this->Customer->getId());
如果您在操作中调用此方法,则会将这些对象传递到表单模板,您可以在其中为客户创建订单表。