Решение проблемы уникального ключа в Joomla - PullRequest
1 голос
/ 03 марта 2010

Я новичок в Joomla. Я использую Joomla 1.5. Я объявил поле в таблице базы данных уникальным. Предположим, я объявил имя пользователя уникальным. Я создал компонент с именем "com_user" в разделе администратор / компоненты. Теперь, когда я добавляю пользователя "xyz123", это нормально. Но при следующей записи, когда я ввожу то же самое значение, должно появиться сообщение об ошибке с сообщением об ошибке «Имя пользователя должно быть уникальным» или что-то в этом роде как это . Как это можно сделать?

Ответы [ 2 ]

0 голосов
/ 03 марта 2010

Метод store() вашего класса JTable должен возвращать false в случае сбоя запроса, поэтому вы можете использовать его, чтобы определить, когда вводится повторяющаяся запись. Однако метод store() также возвращает false, если запрос не выполняется по другим причинам (потеря соединения с базой данных и т. Д.).

0 голосов
/ 03 марта 2010

Я думаю, что лучший способ сделать это - просто выполнить команду «выбрать количество (*) из ...», прежде чем пытаться вставить пользователя в базу данных, чтобы узнать, существует ли он уже. Лучший способ отобразить ошибки, предупреждения и уведомления - использовать JError class

Второй способ - использовать методы getErrorNum () и getErrorMsg () объекта DBO. Больше информации об этом здесь: http://www.joomladin.com/index.php/tutorials/34-module-development/54-exception-handling.html Хотя я действительно полагаю, что при использовании этого второго метода пользователь все равно может увидеть большое красное сообщение «Ошибка базы данных: дубликат ключа ...».

...