ホームページ >PHPフレームワーク >ThinkPHP >ThinkPHP クエリデータ select(findAll) メソッド

ThinkPHP クエリデータ select(findAll) メソッド

步履不停
步履不停オリジナル
2019-06-25 16:31:156667ブラウズ

ThinkPHP クエリデータ select(findAll) メソッド

ThinkPHP クエリ データ

ThinkPHP クエリ データは主に次のタイプのクエリを提供します:

  1. select: 通常のクエリ、findAll と同じ() メソッド
  2. find: クエリ条件を満たすレコードを取得します。
  3. getBy 動的クエリ: 特定のフィールドに基づいてクエリ条件を満たすレコードを取得します。
  4. getField:特定のフィールドの値、または複数のフィールドのインデックス配列を取得します
  5. Intervalクエリ:クエリ条件を満たす間隔レコードを取得します
  6. 統計クエリ:クエリ条件を満たす統計データを取得します
  7. ポジショニング クエリ: 一致を取得します。クエリ条件の 1 つ以上のレコードを取得します。
  8. ネイティブ SQL クエリ: ネイティブ SQL でのクエリまたは操作の実行をサポートします。

select ()

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[&#39;uid&#39;]}</td>
        <td>{$vo[&#39;username&#39;]}</td>
        <td>{$vo[&#39;email&#39;]}</td>
        <td>{$vo[&#39;regdate&#39;]|date=&#39;Y-m-d H:i&#39;,###}</td>
    </tr>
    </volist>
</table>

field() 指定されたフィールドをクエリします。

select() メソッドは、デフォルトですべてのフィールドをクエリします。 データ1 つまたは複数のフィールドをクエリする場合は、 filed() メソッドを使用する必要があります。

filed() は、ThinkPHP の継続的な操作に属するメソッドです。たとえば、上記の例では、ユーザー名と電子メール アドレスのみがクエリされる場合、クエリ メソッドを次のように変更する必要があります:

$list = $Dao->field(&#39;username,email&#39;)->select();

クエリ条件を使用する

ThinkPHP のコヒーレント操作を使用すると、データ クエリにクエリ条件を簡単に使用できます。以下に、単純なクエリ条件の例をいくつか示します。

where() 条件

……   
    // 构造查询条件
    $condition[&#39;username&#39;] = &#39;Admin&#39;;
    // 查询数据
    $list = $Dao->where($condition)->select();
……

上記のクエリは username='Admin' のデータです。 ThinkPHP Where 条件の詳細については、「ThinkPHP Where 条件」を参照してください。

ORDER BY 並べ替え

クエリで ORDER BY を使用してデータを並べ替えます:

……   
    // 查询数据
    $list = $Dao->order(&#39;uid DESC&#39;)->select();
……

この例では、ORDER BY uid DESC に従ってデータがクエリされ、 order() メソッドのパラメータの意味は、SQL ステートメントのパラメータの意味とまったく同じです。

LIMIT 制限

クエリで LIMIT を使用して、データによって返されるレコードの数を制限します。

……   
    // 查询数据
    $list = $Dao->limit(&#39;4,5&#39;)->select();
……

この例では、5 番目から 10 番目のレコードを取り出します。 limit() メソッド パラメーターの意味は、SQL ステートメントの LIMIT とまったく同じです。

継続的操作

ThinkPHP では、データ オブジェクト内の各メソッドを、次のような操作のためにまとめて記述することができます。

$list = $Dao->order(&#39;uid DESC&#39;)->limit(&#39;4,5&#39;)->select();

ThinkPHP 関連の技術記事の詳細については、## を参照してください。 # ThinkPHP チュートリアル 列で学習してください!

以上がThinkPHP クエリデータ select(findAll) メソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。