我从一个应用程序收到了这些数据。我的参数列表:
- catids = 1, 2, 3
- 订阅 = 1, 1, 0 [ 0 = 保持订阅,1 = 按此顺序取消订阅 catids]
- appuser_id = XXX
现在我必须根据收到的数据更新我的订阅表。架构如下:
--cat_id--appuser_id
1 | 10 |
2 | 10 |
3 | 10 |
4 | 20 |
5 | 20 |
---------------------
那么考虑到查询性能,我怎样才能巧妙地做到这一点呢?我能想到的方法是:
- 获取所有值为 1 的订阅。
- 找出步骤 1 中找到的值的相应 catid。
- 从表中删除这些条目。
我只能达到第 1 步。我想不出一种方法来匹配在步骤 1 中找到的条目与它们各自的 catid。
$cat = '1,2,3';
$subs = '1,1,0';
$catA = explode(',',$cat);
$subsA = explode(',',$subs);
$deleteSubList = array();
foreach($subsA as $v){
if($v == 1){
array_push($deleteSubList,$v);
}
}
print_r($deleteSubList);
这给了我Array ( [0] => 1 [1] => 1 )
. 我怎么知道它属于$catA
数组中的类别之一?