Кастом ГДЕ в сохранении строки JTable в Joomla 1.5
Я использую JTable для хранения записи в таблице. В моей таблице 3 первичных ключа (pid,eid,sid). Я хочу сохранить (вставить, обновить) запись моего кода:
$row =& JTable::getInstance('mytable', 'Table');
$row->load(
array(
'pid' =>$pid,
'eid' =>$eid,
'sid' =>$sid
)
);
$row->data = $data;
if (!$row->store()) {
JError::raiseError(500, $row->getError() );
}
Функция загрузки запускается с предупреждением: Предупреждение: mysql_real_escape_string() ожидает, что параметр 1 будет строкой, объект задан в...\joomla\database\database\mysql.php в строке 193
и функция store выдает ошибку:
, но магазин выдает ошибку с оператором SQL. Оператор SQL содержит имена полей и новые значения, а также ключевое слово "ГДЕ", но без условия.
любая помощь?
1 ответ
Функция загрузки принимает целое число в качестве входных данных (см. Здесь http://docs.joomla.org/JTable/load), поэтому вы не можете передать ему массив. Целое число, которое вы передаете, должно быть первичным ключом вашей таблицы. Здесь вы можете использовать любой из ваших 3 первичных ключей, потому что, будучи первичным, он будет уникальным.