Mam dwie tabele table1
i table2
każda ma kolumnę o nazwie email
wraz z innymi kolumnami. To, czego chcę, to walidator, który szuka unikalności w polu email
obu kolumn. Znalazłem extension, który sprawdza wiele kolumn tabeli SAME. Jak mogę go rozszerzyć, aby działał w wielu kolumnach?Yii unikatowe sprawdzanie poprawności w dwóch kolumnach różnych tabel, tj. jednoznaczna walidacja złożona
Odpowiedz
można wykorzystywać własność className określić dla innych klas ..
Dokumentacja: 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.
Pozwala mieć atrybut o nazwie common_attr w dwóch modelach:
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'),
}
}
i sprawdzić combined key
sprawdzanie poprawności z wielu tabel można użyć właściwości kryterium CUniqueValidator ..Nie potrzeba żadnego rozszerzenia
Dokumentacja: 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. JPA lub Hibernate - Łączenie tabel w kolumnach różnych typów
- 2. Sprawdzanie poprawności jQuery Walidacja z dodaniem braku sprawdzania poprawności przestrzeni
- 3. Sprawdzanie poprawności JQuery: Sprawdzanie poprawności ukrytych pól
- 4. Sprawdzanie poprawności sprawdzania poprawności Knockout sprawdzanie poprawności
- 5. Simplemembership ASPXAUTH cookie sprawdzanie poprawności w dwóch oddzielnych projektach internetowych
- 6. Laravel 5.0 IN Walidacja. Sprawdzanie poprawności za pomocą wartości ENUM
- 7. Walidacja w postgreSQL
- 8. Jak wybrać wartości z dwóch różnych tabel w SQL
- 9. Jak mogę kwerendy dwóch różnych tabel w mysql
- 10. Jak uzyskać listę wszystkich tabel w dwóch różnych bazach danych
- 11. Kombinacja dwóch kolumnach UNIQUE
- 12. Rozłóż dane w dwóch kolumnach
- 13. W której warstwie należy wykonać sprawdzanie poprawności?
- 14. sprawdzanie poprawności django
- 15. Walidacja sprawdzania poprawności DataTime MVC
- 16. Sprawdzanie poprawności mojego formularza
- 17. Czy możemy użyć sprzężenia dla dwóch różnych tabel bazy danych?
- 18. Sprawdzanie poprawności między wieloma polami na różnych poziomach
- 19. Sprawdzanie poprawności jQuery w wielu polach
- 20. Walidacja wiersza datagridów WPF
- 21. Walidacja sqlalchemy dla dwóch pól
- 22. Sprawdzanie poprawności pól modelu Django
- 23. Łączenie dwóch tabel w mysql
- 24. select * z dwóch tabel o różnej # kolumn
- 25. Sprawdzanie poprawności obiektu obserwowalnego względem warunku.
- 26. Sprawdzanie poprawności schematu, nie trimming string przed sprawdzaniem poprawności
- 27. mvc3 jquery dyskretne sprawdzanie poprawności ustawień narodowych
- 28. sql łączenie dwóch niepowiązanych tabel w jedną
- 29. Sprawdzanie poprawności Knockout i Qtip
- 30. Sprawdzanie poprawności argumentów w Ruby?
Pierwsza metoda działa jak czar. Dzięki :) – dInGd0nG