このデータをアプリから受け取りました。私のパラメータリスト:
- catids = 1、2、3
- サブスクリプション=1、1、0 [0 =サブスクライブを維持し、1=この順序でcatidのサブスクライブを解除します]
- 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
配列のカテゴリの1つに属していることをどのように知ることができますか?