Ho due tabelle table1
e table2
ciascuna con una colonna denominata email
insieme a diverse altre colonne. Quello che voglio è un validatore che cerca l'unicità nel campo email
di entrambe le colonne. Ho trovato un extension che controlla più colonne della tabella SAME. Come posso estenderlo in modo che funzioni per più colonne?Yii convalida univoca su due colonne di tabelle diverse, ad es. convalida univoca composita
risposta
È possibile utilizzare la proprietà className per specificare per le altre classi ..
Documentazione: the ActiveRecord class name that should be used to look for the attribute value being validated. Defaults to null, meaning using the class of the object currently being validated. You may use path alias to reference a class name here.
Consente di avere un attributo chiamato common_attr in due modelli:
class Model1 extends CActiveRecord{
public function rules(){
array('common_attr', 'unique', 'className'=> 'Model1'),
array('common_attr', 'unique', 'className'=> 'Model2'),
}
}
class Model2 extends CActiveRecord{
public function rules(){
array('common_attr', 'unique', 'className'=> 'Model1'),
array('common_attr', 'unique', 'className'=> 'Model2'),
}
}
e di verificare combined key
validazione da più tabelle è possibile utilizzare la proprietà dei criteri di CUniqueValidator ..Non c'è bisogno di qualsiasi estensione
Documentazione: criteria property public array $criteria; additional query criteria. This will be combined with the condition that checks if the attribute value exists in the corresponding table column. This array will be used to instantiate a CDbCriteria object.
class Model1 extends CActiveRecord{
public function rules(){
array('common_attr', 'unique', 'caseSensitive'=>false,
'criteria'=>array(
'join'=>'LEFT JOIN model2 ON model2.common_attr=model1.common_attr',
'condition'=>'model2.common_attr=model1.common_attr',
)),
}
}
- 1. hibernate convalida chiave univoca
- 2. convalida univoca in DDD
- 3. Codice EF convalida la proprietà univoca?
- 4. MySQL - Chiave univoca composita con datetime
- 5. Algoritmo per generazione CD-KEY univoca con convalida
- 6. In Postgresql, Forza univoca sulla combinazione di due colonne
- 7. SQLite chiave univoca con una combinazione di due colonne
- 8. Laravel 4 - come utilizzare una regola di convalida univoca/colonne univoche con eliminazioni software?
- 9. Aggiungi vincolo alla riga univoca con più di 16 colonne
- 10. Regole di convalida Yii per un array
- 11. Ottenere la somma di diverse colonne di due tabelle
- 12. Come ottenere una chiave univoca per due campi con Hibernate?
- 13. Yii Convalida ClientSide su Render parziale non funzionante
- 14. Creazione della chiave univoca nella tabella MySQL riferita alla data
- 15. Yii 2.0 Convalida CSRF per richiesta AJAX
- 16. Creazione di una sequenza di date univoca
- 17. L'accesso alla chiusura univoca su Elenco di oggetti fornisce UnsupportedOperationException
- 18. Creare una colonna varchar (50) univoca
- 19. Come aggiungere una chiave univoca composita usando EF 6 Fluent Api?
- 20. yii convalida un array di input dei numeri di telefono
- 21. Creazione della chiave univoca MongoDB con C#
- 22. laravel come fare una regola univoca escluso vuoto o nullo
- 23. La scheda cromo è univoca su tutte le finestre
- 24. Rails 4 query univoca per singolo attributo
- 25. Collezione Java - Chiave univoca e valore univoco
- 26. aggiornamento SQLAlchemy se chiave univoca esiste
- 27. Cambia chiave univoca insieme in mysql
- 28. Convalida Convalida Scalaz
- 29. JPA: come un'entità composita dalle colonne di più tabelle (non salvare un ente a tabelle mulitple)
- 30. Cookie ASPXAUTH Simplemembership che convalida su due progetti Web separati
Il primo metodo funziona come un fascino. Grazie :) – dInGd0nG