[PHP-users 34717] Re: symfony(propel)のレコードセットを最初の位置に戻す方法

Taizo Kato taizou0814 @ hotmail.com
2009年 8月 25日 (火) 13:04:46 JST


加藤様

こちらも加藤(かとっち)と申します。

Propel1.2で、creole、mysqlを使っている前提で、、、、

seekで問題ないと思います。

そちらで動作は問題なく動いているということで、こちらで動かしてはないですが、ソースを追ってみると、
PEARの
\symfony\vendor\creole\drivers\mysql\MySQLResultSet.php
の
MySQLResultSet::seek($rownum)
で、
mysql_data_seekを呼んでいます。
http://php.benscom.com/manual/ja/function.mysql-data-seek.php

しいて言うなら、seek(0)の方が、何をしてるかわかるので、いいかもです。

でも、
http://creole.phpdb.org/docs/api/creole/ResultSet.html#methodfirst
firstとかもありますね。

加藤(かとっち)

----------------------------------------
> From: kato @ officeants.net
> To: php-users @ php.gr.jp
> Date: Tue, 25 Aug 2009 11:56:47 +0900
> Subject: [PHP-users 34716] symfony(propel)のレコードセットを最初の位置に戻す方法
>
> いつもお世話になっております。
> 加藤と申します。
>
> 現在、
> CentOS 5
> PHP 5
> symfony 1.02+propel
> を使用しております。
>
> 題名の通り、質問がございます。
> ↓例
> // Student<=テーブルとなります。
> $c = new Criteria();
> $rs = StudentPeer::doSelectRS($c);
> $rs->setFetchMode(ResultSet::FETCHMODE_ASSOC);
> while($rs->next()){
> //1つめの処理
> }
> $rs->seek();//<<<<
> カーソルを先頭に戻す処理
> while($rs->next()){
> //2つめの処理
> }
>
> propelのドキュメントに、レコードセット( $rs )を最初に位置にカーソルを戻す方
> 法が無かったので、
> いろいろAPIを探してましたら、
> seek()
> http://creole.phpdb.org/docs/api/creole/ResultSet.html#methodseek
> というメソッドを見つけました。
>
> こちら、で現在のところうまく動いているのですが、もし不適なのであればバグと
> なってしまう不安があります。
> 他に適切なメソッドややり方がもしありましたらご教授いただければ幸いです。
> どうぞ、よろしくお願いいたします。
>
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>  加藤
>
> _______________________________________________
> PHP-users mailing list PHP-users @ php.gr.jp
> http://ml.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://oldwww.php.gr.jp/php/novice.php3

_________________________________________________________________
Drag n’ drop—Get easy photo sharing with Windows Live™ Photos.

http://www.microsoft.com/windows/windowslive/products/photos.aspx


PHP-users メーリングリストの案内