-1

私はCakePHP 2.3を使用しています。次のようにデータを保存します。

$insertUser  = array(
    'Name' => $Name,
    'LastName' => $lastName,
    'password' => $password,
    'email' => $email,
    'TimeStamp' => $presentTime,
    'RefererUserId' => $refererId // set the referer user id
);

$this->SystemUser->saveAll($insertUser) // save record in table.

上記のコードは機能しません。次のような別の方法を試しました:

  $this->SystemUser->query("INSERT INTO system_users(Name,LastName,password,email,TimeStamp,RefererUserId) VALUES ('{$Name}','{$lastName}','{$password}','{$email}','{$presentTime}','{$refererId}')"); 

最後に挿入された ID を取得するにはどうすればよいですか? getLastInsertId()以下のように、最後に挿入されたIDを取得していました。

$lastid = $this->SystemUser->getLastInsertId(); 

しかし、うまくいかないようです。

4

2 に答える 2

0

あなた$insertUserは次のはずです

$insertUser['SystemUser']  = array(
  'Name' => $Name,
  'LastName' => $lastName,
  'password' => $password,
  'email' => $email,
  'TimeStamp' => $presentTime,
  'RefererUserId' => $refererId // set the referer user id
);

次に、次のようにデータを保存する必要があります

if($this->SystemUser->save($insertUser)) {
    $lastid = $this->SystemUser->getLastInsertId();
} else {
   debug($this->SystemUser->validationErrors); die();
}

これにより、おそらく必要な情報が得られます(もちろん、無効なデータのために保存されていないと仮定します):

debug($this->SystemUser->validationErrors); die();

それでおしまい。

于 2015-01-30T12:38:43.530 に答える