ホームページ >PHPフレームワーク >ThinkPHP >ThinkPHP クエリデータ select(findAll) メソッド
ThinkPHP クエリ データは主に次のタイプのクエリを提供します:
select() は、ThinkPHP で最も一般的に使用される通常のクエリ メソッドであり、結果は 2 次元配列になります。 findAll() は select() メソッドのエイリアスであり、select() を使用することをお勧めします。
次の例では、ユーザー テーブル内のすべてのデータを読み取り、表示します。
public function read(){ $Dao = M("User"); // 查询数据 $list = $Dao->select(); //dump($list);// 用 dump() 可以在调试阶段查看数据是否已读取 // 模板变量赋值 $this->assign("list", $list); // 输出模板 $this->display(); }
上の例に対応するクラス ファイルが Lib/Action/ であると仮定します。 IndexAction.class.php の場合、対応するテンプレート ファイルは Tpl/default/Index/read.html になります。
テンプレート ファイルは、読み込んだ User テーブルのデータを表示するために使用されます。学習フェーズ中にテンプレートを使用したくない場合は、foreach 構文を直接使用して、read() オペレーション内で読み取りデータを直接表示することもできます。以下は、テンプレートの対応するコード スニペットです。読み取ったデータをテーブルに表示します。
<table border="1"> <tr> <th width="10%">ID</th> <th width="30%">用户名</th> <th width="30%">电子邮件</th> <th>注册时间</th> </tr> <volist name="list" id="vo"> <tr> <td align="center">{$vo['uid']}</td> <td>{$vo['username']}</td> <td>{$vo['email']}</td> <td>{$vo['regdate']|date='Y-m-d H:i',###}</td> </tr> </volist> </table>
select() メソッドは、デフォルトですべてのフィールドをクエリします。 データ1 つまたは複数のフィールドをクエリする場合は、 filed() メソッドを使用する必要があります。
filed() は、ThinkPHP の継続的な操作に属するメソッドです。たとえば、上記の例では、ユーザー名と電子メール アドレスのみがクエリされる場合、クエリ メソッドを次のように変更する必要があります:
$list = $Dao->field('username,email')->select();
ThinkPHP のコヒーレント操作を使用すると、データ クエリにクエリ条件を簡単に使用できます。以下に、単純なクエリ条件の例をいくつか示します。
…… // 构造查询条件 $condition['username'] = 'Admin'; // 查询数据 $list = $Dao->where($condition)->select(); ……
上記のクエリは username='Admin' のデータです。 ThinkPHP Where 条件の詳細については、「ThinkPHP Where 条件」を参照してください。
クエリで ORDER BY を使用してデータを並べ替えます:
…… // 查询数据 $list = $Dao->order('uid DESC')->select(); ……
この例では、ORDER BY uid DESC に従ってデータがクエリされ、 order() メソッドのパラメータの意味は、SQL ステートメントのパラメータの意味とまったく同じです。
クエリで LIMIT を使用して、データによって返されるレコードの数を制限します。
…… // 查询数据 $list = $Dao->limit('4,5')->select(); ……
この例では、5 番目から 10 番目のレコードを取り出します。 limit() メソッド パラメーターの意味は、SQL ステートメントの LIMIT とまったく同じです。
ThinkPHP では、データ オブジェクト内の各メソッドを、次のような操作のためにまとめて記述することができます。
$list = $Dao->order('uid DESC')->limit('4,5')->select();
ThinkPHP 関連の技術記事の詳細については、## を参照してください。 # ThinkPHP チュートリアル 列で学習してください!
以上がThinkPHP クエリデータ select(findAll) メソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。