列 ID からすべてを選択する Zend DB クエリを作成するにはどうすればよいですか?
これまでのところ、私は試しました:
public function getLatestUserID()
{
$ids = $this->select()
->where('id = ?');
return $ids;
}
しかし、役に立たない。
列 ID からすべてを選択する Zend DB クエリを作成するにはどうすればよいですか?
これまでのところ、私は試しました:
public function getLatestUserID()
{
$ids = $this->select()
->where('id = ?');
return $ids;
}
しかし、役に立たない。
getLatestUserID を含むクラスが Zend_Db_Table_Abstract も拡張していることを確認してください。
$ids = $this->select()->where('id = ?');
where('id = ?'); のため動作しません。のような id 値が必要ですwhere('id = ?', $id);
必要なのは、最後に挿入された行の Id の使用である場合:
$lastInsertId = $this->getAdapter()->lastInsertId();
(ただし、Oracle データベースを使用している場合、これは機能しないため、使用する必要があります$lastInsertId = $this->getAdapter()->lastSequenceId('USER_TABLE_SEQUENCE');
)
id
列が必要なだけです
。実行コマンドの呼び出しに失敗しました。
試す:
//assuming you are using a DbTable model
public function getLatestUserID()
{
$ids = $this->fetchAll('id');
return $ids;
}
すべてに select() オブジェクトを使用するため、次のようにします。
public function getLatestUserID()
{
$select = $this->select();
//I'm not sure if $this will work in this contex but you can out the table name
$select->from(array($this), array('id'));
$ids = $this->fetchAll($select);
return $ids;
}
最初の 2 つの例は、テーブルの列のみを返す必要がありid
ますが、実際に特定のid
.
public function getLatestUserID($id)
{
$select = $this->select();
$select->where('id = ?', $id);
//fetchAll() would still work here if we wanted multiple rows returned
//but fetchRow() for one row and fetchRowset() for multiple rows are probably
//more specific for this purpose.
$ids = $this->fetchRow($select);
return $ids;
}