2017-08-03 7 views
0

私はZF1 DB adapterを使用しましたが、今私はZF3を学んでいるが、私は同等のものを見つけるように見えることはできません。ZF3:ZF3でDB fetchRow()またはfetchAll()またはfetchCol()またはfetchOne()を実行するにはどうすればよいですか?

$rows = $db->fetchAll('select * from `my_table`'); 
$row = $db->fetchRow('select * from `my_table` where `id` = 1'); 
$values = $db->fetchCol('select `my_col` from `my_table`'); 
$value = $db->fetchOne('select `my_col` from `my_table` where `id` = 1'); 

私はZF3で見つかった例は、書類を作成使用することを述べました。だから、ZF3の1行で上記の各作業を行う方法は?

答えて

1

1つの単語:消えました。今度は代わりにResultSet\ResultSetInterfaceインターフェイスを扱わなければなりません。しかしiteratorです。あなたは確かに結果を得るのに何の問題もないはずです。

+0

サイドノート自分自身と他の誰を見に:私のコードからの例 '$結果= $アダプタ - >クエリ:' ResultSetInterface'を使用することにより、それはそうのように、すべての結果をフェッチする興味深い機能を持っています( 'SELECT * from users'、アダプタ:: QUERY_MODE_EXECUTE); $ users = $ result-> toArray(); ' – evilReiko

1

ええ、それはなくなってしまった。

ZF1と同じ方法でセレクトを構築できます。

// From Mapper that extends AbstractTableGateway 
// and implements AdapterAwareInterface 

$select = $this->getSql()->select() 
     ->join('articles', 'article_events.article_uuid = articles.article_uuid') 
     ->where(['articles.article_id' => $id]); 

$result = $this->selectWith($select); 

// $result; is fetchAll() 
// $result->current(); is fetchRow() or fetchOne() 
// $result->current()->col_name is fetchCol(); 
関連する問題