2016-03-29 2 views
0

を読んだが、WHERE文の中で使用される場合、この問題に遭遇していない:Medoo MySQLは、私がMedoo MySQLのフレームワークを使用している変数

$test = '1,2,3,4'; 

$count = $database->count("products", [ 
    "AND" => [ 
     "category_id" => $category['id'], 
     "id" => [$test] 
    ] 
]); 

カウント結果は4でなければなりませんが、私は1を取得しています。ただし:

$count = $database->count("products", [ 
    "AND" => [ 
     "category_id" => $category['id'], 
     "id" => [1,2,3,4] 
    ] 
]); 

4の正しい結果が得られますか?前もって感謝します!

+0

私の推測では、 '$テスト=「1,2です、3,4 '; '' id "=> [$ test]'は1文字列で配列することを評価しています。 '['1,2,3,4']'または 'id [0] =' 1,2,3,4'のように、4つの値を持つ配列ではなく、 – Sean

答えて

1

$test = array(1,2,3,4); 

$count = $database->count("products", [ 
    "AND" => [ 
     "category_id" => $category['id'], 
     "id" => $test // variable without [] 
    ] 
]); 
0

$test = '1,2,3,4';が文字列である...これを試してみてください。

$test = explode(',', '1,2,3,4'); 

$count = $database->count("products", [ 
    "AND" => [ 
     "category_id" => $category['id'], 
     "id" => $test 
    ] 
]); 
0

次のソリューションはここに掲載されています:配列としてそれを変換するには、使用する必要が https://github.com/catfan/Medoo/issues/637

$values = '2,123,234,54';

$database->select("account", "user_name", [ 
    "OR" => [ 
     "user_id" => explode(',',$values) 
    ] 
]); 
関連する問題