CodeIgniter 4を使用しています。
そしてこのような新しいデータを挿入する、
$data = [
'username' => 'darth',
'email' => '[email protected]'
];
$userModel->save($data);
_
これはここで述べられています: Codeigniterのモデルリファレンス
挿入をしています。しかし、私は挿入後に挿入されたIDを取得するための参照を見つけていません。
助けてください!前もって感謝します。
CI4の場合
$settings = new SettingsModel();
$settingsData = $settings->find(1);
<?php namespace App\Models;
use App\Models\BaseModel;
class SettingsModel extends BaseModel
{
protected $table = 'users';
protected $primaryKey = 'id';
}
_
$ settings-> find(1);単一の行を返します。それは$ PrimaryKeyとして提供される値が見つかります。
こんにちは私の場合私はデータを保存するためにCIモデルを使います、そして私のコードは:
$x=new X();
$is_insert= $x->save(['name'=>'test','type'=>'ss']);
if($is_insert)
$inserted_id=$x->getInsertID()
_
これを克服するには、save()メソッドのシステム/ model.phpを修正しました---
$response = $this->insert($data, false);
// add after the insert() call
$this->primaryKey = $this->db->insertID();
_
さて、モデルでは、「$ this->プライマリキー」を参照するだけで、データモデリング機能を維持しながら、必要な情報を提供します。
私はこれをCI開発者に提出するつもりです、うまくいけばそれは追加されるでしょう。