php和产品哪个发展,php – 如何将产品与类别联系起来?

我第一次尝试这样做时,在类别表中创建了一个名为query的字段.包含如下字符串:

brand = “Burberry” AND type != “Watch”

然后我将其插入到查询的WHERE子句中以查找类别的产品.

那可能不是最好的设计.

我的第二次尝试是使用标记系统.我会创建一个标签表,其中包含Burberry和Watch等标签.我有一张桌子将标签绑在产品上(HABTM).我还有一个表格将标签绑定到类别.

将标签绑定到类别的表有一个名为include的额外字段,如果它是1,则所有选定的产品也必须具有该标记.或者,如果它是0,那么所有选择的产品都不能包含该标签.

这似乎是一个比我原来更好的设计,但它需要一些非常复杂的连接.

现在我需要再次解决这个问题.

一个区别是我现在使用CakePHP(1.3)框架.

在我尝试重新发明轮子之前.我想知道是否有任何已知的模式/解决方案我可以使用?

解决方法:

可能你现在已经以某种方式完成了,但这是我的2cents:

我会删除类别< - >标记,因为我觉得你不必要地用它来复制数据.

即表格应该只是category,categories_products,products,products_tags和tags.

这条路:

>当您从类别中添加或删除产品时,您无需为更改类别标签而烦恼

>您的搜索将变得更加统一(因为只有一个标记表)

>你的标签仍然不会超过3个JOINS – 这很舒服:)

标签:php,mysql,database-design,cakephp

来源: https://codeday.me/bug/20190710/1419846.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值