使用HABTM在空数据库CakePHP中使用事务
我正在尝试使用事务将数据存储在空数据库中。现在这对我不起作用了。这是我的ERD: 请注意,首先所有三个表都是空的。我将以下数组发送到数据库:使用HABTM在空数据库CakePHP中使用事务,php,mysql,cakephp,Php,Mysql,Cakephp,我正在尝试使用事务将数据存储在空数据库中。现在这对我不起作用了。这是我的ERD: 请注意,首先所有三个表都是空的。我将以下数组发送到数据库: array( 'Product' => array( 'slug' => 'c24b626d6701d3b07e30b233b989ff8811', 'product_name' => 'DAHLIA 5A', 'price_new' => '159.00',
array(
'Product' => array(
'slug' => 'c24b626d6701d3b07e30b233b989ff8811',
'product_name' => 'DAHLIA 5A',
'price_new' => '159.00',
'affiliate_url' => 'http://example.com/feed.xml',
'product_id_supplier' => 'c24b626d670133d3b07e30b2b989ff8811',
'supplier_id' => 'some_supplier',
'feedimport_id' => (int) 1
),
'Image' => array(
(int) 0 => array(
'image' => 'product_image.JPG'
)
),
'Term' => array(
'Term' => array(
(int) 0 => array(
'name' => 'Tommy Hilfiger'
)
)
)
)
使用$this->getDataSource()。但它只填充图像和产品表。如果我查看日志文件,在插入products and images表之后,它似乎试图从products_terms表中进行选择,当然它没有收到任何反馈。它就停在那里。。。。它也不会尝试在terms表中插入
现在,如果我看这些教程:
看起来我没有做错什么。。。但如果我仔细看,教程中的标签表似乎已经填满了。。。。所以这可能就是问题所在?但我不知道如何首先获得术语ID,然后再插入产品并使用事务将它们链接在一起
有人这样做吗?问题解决了。似乎需要填写术语表,否则cakePHP不知道要连接哪个术语 因此,正确的解决方案是首先检查术语是否存在,否则在术语表中插入术语,然后使用HABTM(使用插入数组中术语的ID)插入产品,这样也将填充products_Terms表