0

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() );
            }

ロード関数は次の警告を出して実行されます:

そして store 関数はエラーを発生させます:

ですが、ストアは SQL ステートメントでエラーを発生させます。SQL ステートメントには、フィールド名と新しい値、および「WHERE」キーワードが含まれていますが、条件はありません。

助けはありますか?

4

1 に答える 1

0

load関数は入力として整数を受け取るため(ここhttp://docs.joomla.org/JTable/loadを参照)、配列を渡すことはできません。渡す整数は、テーブルの主キーである必要があります。ここでは、3つの主キーのいずれかを使用できます。これは、主キーが一意であるためです。

于 2011-04-19T14:22:08.897 に答える