0

codeigniter Web サイトでは、insert() メソッドが最後に挿入された製品の $rowid を返すと書かれています。しかし、どのように正確にそれをつかむのですか?

$data = array();

$insert = $this->cart->insert($data);

$insert['rowid'] と $insert->rowid を試しましたが、どちらもうまくいかないようです。

ありがとうございました!

4

1 に答える 1

2

導入: insert_id()

このような

$id = $this->db->insert_id();
return $id;

あなたのモデルでは、それをfriend_modelと呼びましょう

function insertRow()
{
// Prepare data, normally you would pass this in
$data = array(
'first' => 'john',
'last' => 'smith'
);
// insert data
$this->db->insert( 'friends', $data );
// confirm insert       
if ( $this->db->affected_rows() == '1' )
// return new ID
{ $id = $this->db->insert_id();
return $id; }
// else did not insert, return false 
else {return FALSE;}
}

コントローラーで、モデルからIDが返されたかどうかを確認します

if(! $id = $this->friend_model->insertRow() )
// it no work
{ // some error method 
}
else
{ // success ! 
} 
于 2012-11-21T22:13:36.747 に答える