CodeIgniterのFormValidationクラスを使用してフォームを検証しています。このフォームには、国のチェックボックスが約200個あります。一連の国がすべて有効であることを検証したいと思います。これを行うには、配列値がデータベース内の実際の国IDに対応しているかどうかを確認します。私が抱えている問題は、codeIgniterのフォーム検証が配列内の200か国のそれぞれを検証することです。これにより、データベースに対して200のクエリが完了し、約10秒かかります。CodeIgniterに配列全体を一度検証させる方法はありますか?
1 に答える
2
CodeIgniterのフォーム検証をバイパスして、データベースからすべての国を1つの配列にロードし、フォーム値を別の配列にロードすることができます。次にarray_diff
、データベースに表示されないフォーム値に値があるかどうかを確認するために使用できます。
$should_be_empty = array_diff($form_array, $database_array);
$should_be_empty
$form_array
データベース配列に表示されない値がない場合は空になります。
于 2012-08-14T15:04:48.573 に答える