Je suis un peu perplexe avec ce problème. Mon code est vraiment différent donc je m'attendais à des résultats différents. Mais j'exécute des validations de formulaire et j'essaie d'appeler la fonction is_unique. Mais il semble qu'il ajoute mon sous-domaine au nom de la table dans la requête. Et pour la vie de moi je ne peux pas comprendre pourquoi.Codeigniter Form Validation is_unique semble ajouter un sous-domaine au nom de table
J'ai une classe de bibliothèque qui met en place les contrôles dont il a besoin ici
protected function settablecolumnattributes(){
$this->addcolumnattributes(
array(
"name" => "user_login",
"type" => "VARCHAR",
"length" => "255",
"default" => "NULL",
"collation" => "",
"attributes" => "",
"null" => "",
"index" => "",
"autoincrement" => "",
"comments" => "",
"width" => "",
"sortable" => "true",
"control" => array(
"type" => "textbox",
"label" => "User Login",
"id" => "",
"class" => "",
"placeholder" => "Enter a Username",
"validations" => "required|is_unique[blah.user_login]"
),
"visible_on_form" => true,
"visible_on_table" => true
)
);
}
alors je suis collectionne toutes les validations de contrôle ici et les sortir.
public function set_object_form_validations(){
$fields = $this->getcolumnattributes();
foreach($fields as $field):
$visible_on_form = property_exists($field, "visible_on_form");
if($visible_on_form !== false):
if($field->visible_on_form !== true):
continue;
endif;
endif;
$this->CI->form_validation->set_rules($field->name, $field->control['label'], $field->control['validations']);
endforeach;
}
maintenant quand les validations rencontre les is_unique
i obtenir cette erreur
Error Number: 1146
Table '12385468.demo_blah' doesn't exist
SELECT * FROM `demo_blah` WHERE `user_login` = 'joe' LIMIT 1
Filename: libraries/Form_validation.php
Line Number: 1125
l'URL de test je l'utilise est comme ce demo.example.com/admin/users/add
Je suis allé dans le fichier sous forme de Validations et essayé pour retracer ce problème, mais il continue à aller de plus en plus profondément dans les fonctions CI. Tous les endroits où $table
est présent indiquent simplement blah
, mais vous pouvez voir dans la requête . Je suis perplexe.