以下是包含产品和类别的数据库结构
- 产品表
CREATE TABLE `product_table` (
`product_id` int(11) NOT NULL,
`product_title` text,
`product_description` text
);
- Product2ategory Table
CREATE TABLE `product2category_table` (
`product_id` int(11) NOT NULL,
`category_id` int(11) NOT NULL
);
我正在类别
上创建多值属性sql_attr_multi = uint prod_cat from query; \
select p.product_id, c.category_id from product as p, product2category as c
where c.product_id = p.product_id;
产品和类别之间的关系是多对多的。例如,名为lenovo的产品可属于以下类别:
category_id category_title
12 sturdy
20 laptop
问题:我应该如何使用php-sphinx api进行查询,找到属于ID 12和20类别的所有带有电子产品的产品。通常是$ cl-> setfilter('prod_cat',array(12, 20)甚至会返回属于任何一个类别的产品。我知道如果我对产品的所有类别进行连接并进行全文搜索,这很简单。但是有没有办法处理MVA功能。
答案 0 :(得分:2)
$cl->setfilter('prod_cat',array(12));
$cl->setfilter('prod_cat',array(20));
多次通话都是' AND'''
顺便说一下,可以简化你的MVA查询...
sql_attr_multi = uint prod_cat from query; \
select product_id, category_id from product2category