Tôi có hai bảng table1
và table2
mỗi cột có tên là email
cùng với các cột khác nhau. Những gì tôi muốn là một trình xác thực tìm kiếm tính duy nhất trong trường email
của cả hai cột. Tôi đã tìm thấy một extension kiểm tra nhiều cột của SAME bảng. Làm thế nào tôi có thể mở rộng nó để nó hoạt động cho nhiều cột?Xác thực duy nhất Yii trên hai cột của các bảng khác nhau, ví dụ: xác thực duy nhất tổng hợp
Trả lời
Bạn có thể sử dụng tài sản className để xác định cho các lớp học khác ..
Tài liệu: 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.
Cho phép có một thuộc tính gọi là common_attr trong hai mô hình:
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'),
}
}
Và để kiểm tra combined key
xác thực từ nhiều bảng, bạn có thể sử dụng thuộc tính tiêu chí của CUniqueValidator ..Không cần bất kỳ phần mở rộng
Tài liệu: 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. Xác thực trên một cột DataGridView duy nhất
- 2. xác thực duy nhất trong DDD
- 3. Symfony 2 trình xác thực duy nhất
- 4. Xác nhận tính duy nhất của nhiều cột
- 5. Sự kết hợp của hai cột hạn chế duy nhất
- 6. JPA - xác định các ràng buộc duy nhất nhiều cột
- 7. Laravel 4: kết hợp các giá trị/cột duy nhất
- 8. Trong Postgresql, Force duy nhất trên sự kết hợp của hai cột
- 9. Xác thực tính duy nhất của thuộc tính với XSD trên tài liệu XML
- 10. Xác thực một thuộc tính duy nhất với Thư viện xác thực thông thạo cho .Net
- 11. Ràng buộc bảng SQLite - duy nhất trên nhiều cột
- 12. sqlalchemy duy nhất trên nhiều cột
- 13. SQL Server 2005 Ràng buộc duy nhất trên hai cột
- 14. Ràng buộc duy nhất trên nhiều cột
- 15. Phím duy nhất so với chỉ mục duy nhất trên SQL Server 2008
- 16. Xác thực để đảm bảo tính duy nhất của nhưng bỏ qua các giá trị rỗng?
- 17. Xác minh hai cột của hai bảng khác nhau khớp chính xác với
- 18. Cách lấy khóa duy nhất cho hai trường có Hibernate?
- 19. Thực hành tốt nhất khi xác định các biến dụ
- 20. mysql kết hợp các phím duy nhất
- 21. Cách lấy tập hợp các hàng duy nhất từ SQL trong đó tính duy nhất được xác định bởi 2 cột?
- 22. ActiveRecord xác nhận: tính duy nhất trên liên kết
- 23. Tìm nạp các hàng duy nhất, cột duy nhất với PDO
- 24. Thông báo đẩy SignalR tới tất cả các phiên bản trình duyệt của người dùng được xác thực duy nhất
- 25. Ràng buộc duy nhất qua nhiều cột
- 26. Truy vấn SQL trả về một bản ghi duy nhất cho mỗi giá trị duy nhất trong một cột
- 27. Làm thế nào để có ID duy nhất trên hai hoặc nhiều bảng trong MySQL?
- 28. Hợp nhất hai tệp trong linux với cột khác nhau
- 29. ánh xạ nhiều bảng vào một lớp thực thể duy nhất trong khung thực thể
- 30. Tạo các màu duy nhất
Phương pháp đầu tiên hoạt động giống như một nét duyên dáng. Cảm ơn :) – dInGd0nG