我被一些正在杀死我的东西所困扰!所以我有
订购 HABTM 产品(带有 products_order 连接表)
连接表看起来像 id | 产品编号 | order_id | 数量 | 价格
目前,当我拨打 find 电话时,我得到以下结果
[...]
'Product' => array(
(int) 0 => array(
'id' => '137',
'category_id' => '2',
'restaurant_id' => '10000',
'title' => 'Salade Quan',
'description' => 'Crudités Chinoises, Porc, Crabe, Crevettes',
'price' => '9',
'tva_id' => '2',
'img' => null,
'img_small' => '',
'img_medium' => '',
'maj_img' => '2012-10-24 15:38:56',
'ProductsOrder' => array(
'id' => '35415',
'product_id' => '137',
'order_id' => '15417',
'quantity' => '1',
'price' => '9',
'tva_id' => '2',
'meal' => null
)
),
[...]
但我想在订单的特定产品上添加更多数据。通常,肉类产品可以有一个副订单/一个或多个酱汁......所以,我考虑将 hasMany 关系添加到表示连接表的模型。
我创建了代表 products_order 连接表的模型 ProductsOrder。我创建了一个新表 extras_order 和他的模型,并添加了一个与 ProductsOrder 模型的 hasMany 关系。
我这样称呼 find 方法:
$q = $this->Order->find('first', array(
'conditions' => array(
'Order.id' => $id,
),
'contain' => array(
'Product.Restaurant' => array('title'),
'State' => array('title'),
'Coursier' => array('full_name'),
'Product',
'Product.restaurant_id != ' . AppController::ID_RESTAURANT,
'AddressB' => array('Cp'),
'AddressD' => array('Cp'),
'Customer',
'ProductsOrder'
))
);
但它不起作用让我觉得这不是一个好的解决方案。我只得到
[...]
'ProductsOrder' => array(),
[...]
你怎么看 ?
这对你来说是个好方法吗?在哪里存储订单的附加数据?
提前致谢 !
编辑:我最终在连接表中添加了一个字段,并考虑在 json 中添加我的附加内容。