クリックして送信ボタンをクリックしてフィールドセットからデータベースに値を送信しようとすると、次のエラー「Error500:JTableUser :: bind(NULL)」が発生します。
モデルの保存関数は次のようになります。
public function save($data)
{
$userId = (!empty($data['id'])) ? $data['id'] : (int) $this->getState('user.id');
$user = new JUser($userId);
JTable::addIncludePath(JPATH_COMPONENT_ADMINISTRATOR.DS.'tables');
$table =& JTable::getInstance('User', 'JTable', array());
// Unset the username so it does not get overwritten
unset($data['username']);
// Unset the block so it does not get overwritten
unset($data['block']);
// Unset the sendEmail so it does not get overwritten
unset($data['sendEmail']);
// Bind the data.
if (!$table->bind($data)) {
$this->setError(JText::sprintf('USERS PROFILE BIND FAILED', $user->getError()));
return false;
}
// Load the users plugin group.
JPluginHelper::importPlugin('user');
// Null the user groups so they don't get overwritten
$user->groups = null;
// Store the data.
if (!$table->save()) {
$this->setError($user->getError());
return false;
}
return $user->id;
}`
$ dataは正しく入力され、正常に"getInstance('User', 'JTable', array());"
機能します。ご清聴ありがとうございました。誰かが私のトラブルを手伝ってくれませんか?