는이 코드 내 데이터베이스에 새 행을 삽입하고 있습니다 :Zend Framework : 마지막으로 삽입 된 행의 ID를 가져 오는 방법은 무엇입니까?
$data = array(
'key' => 'value'
);
$this->getDbTable()->insert($data);
어떻게 내가 방금 만든이 행의 행 ID를받을 수 있나요?
는이 코드 내 데이터베이스에 새 행을 삽입하고 있습니다 :Zend Framework : 마지막으로 삽입 된 행의 ID를 가져 오는 방법은 무엇입니까?
$data = array(
'key' => 'value'
);
$this->getDbTable()->insert($data);
어떻게 내가 방금 만든이 행의 행 ID를받을 수 있나요?
하나의 잡화입니다. $this->getDbTable()->insert($data);
으로 전화 할 때는 $ data에 테이블의 "기본 키"가 포함되어 있는지 확인해야합니다. 예를 들어, 자동 증가 인 경우 id=null
입니다. 그렇지 않으면 insert()
은 마지막으로 삽입 된 ID를 반환하지 않습니다.
시도해 보셨습니까? 이것은 또한 잘 작동합니다.
//just after you call your insert($data) function .. use this
$lastInsertId = $this->getAdapter()->lastInsertId();
voteup man thanx –
코드 아래에보십시오 :
$this->tableGateway->insert($data);
마지막 삽입 된 값을 가져옵니다 :
$this->tableGateway->lastInsertValue;
다른 사용자가 레코드를 삽입 한 후 lastInsertValue가 마지막으로 삽입 된 ID를 일반적으로 또는 특정 트랜잭션에 대해 가져온 경우 - 사용 된 경우 -? – Katia
도 newId
기능이있다, 마녀는 다음 새 ID를 반환
데이터를 삽입하려면 , 그래서 당신은 그것을 사용하여 새로운 행을 삽입 할 수 있습니다.
$id = $this->getDbTable->newId('table_name', 'id');
$data = array(
'id' => $id,
'data' => $data
);
$this->getDbTable->insertRow('table_name', $data);
지금 당신은 당신이 당신의 $id
와 함께 원하는대로 할 수 있습니다.
Thanks Cong - This saved me - – Andre
한 메모, 이미 v1.11.6에서 수정 됨으로 표시되어 있습니다. http://framework.zend.com/issues/browse/ZF-3837을 참조하십시오 –