CakePHP 2.9 将 CSV 字符串转换为 HABTM 数据
Posted
技术标签:
【中文标题】CakePHP 2.9 将 CSV 字符串转换为 HABTM 数据【英文标题】:CakePHP 2.9 converting CSV string to HABTM data 【发布时间】:2017-05-15 13:13:38 【问题描述】:我正在尝试转换一个包含以下标题为“帖子”的数据集的大型数据库(约 3m 行):
+-------|---------------|-----------------------+
| id | name | tags |
|-------|---------------------------------------|
| 1 | post title | tag_a, tag_b |
| 2 | another title | tag_b, tag_e, tag_j |
+-------|---------------|-----------------------+
我还有一个带有 id、title 标题的空“tags”表和一个带有标题的“posts_tags”表>id、post_id、tag_id
发布 标签
我的问题:
我想知道填充“tags”表和“posts_tags”habtm 表同时保持标签表不重复的最有效(首选但不是必需的蛋糕方式)?
非常感谢 SO 团队!
【问题讨论】:
请始终提及您的确切 Cakephp 版本(vendor/cakephp/cakephp/VERSION.txt 或 lib/Cake/VERSION.txt 中的最后一行) @RayannNayran 感谢您的提醒 - 添加了版本 为什么你首先需要以“蛋糕方式”(无论这意味着什么)?这甚至可以纯粹在 SQL 级别上完成。 @ndm 严格来说,它不一定是蛋糕的方式,但到目前为止它并没有让我失望。但是,如果提供纯 sql 答案,我认为没有害处。 【参考方案1】:我现在没时间写代码。
您可以获得所有帖子(我建议您对结果进行分页),并且对于每个帖子,您可以获得其标签并用逗号展开。
然后使用标签和当前帖子创建HABTM array data,最后保存数据。
【讨论】:
以上是关于CakePHP 2.9 将 CSV 字符串转换为 HABTM 数据的主要内容,如果未能解决你的问题,请参考以下文章
将 numpy 数组转换为 CSV 字符串,将 CSV 字符串转换回 numpy 数组