ホームページ  >  記事  >  PHPフレームワーク  >  ThinkPHP でテーブル クエリ ステートメントを使用する方法

ThinkPHP でテーブル クエリ ステートメントを使用する方法

WBOY
WBOY転載
2023-05-27 14:52:221470ブラウズ

1. 単一フィールドのクエリ

テーブル内の特定のフィールドをクエリするには、table() 関数を使用してクエリするテーブルを指定できます。 find() 関数は、MySQL の SELECT * FROM table_name WHERE column_name = 'value' LIMIT 1 と同様に、1 つの結果のみをクエリすることを意味します。

サンプル コード:

$data = Db::table('user')->where('id', 1)->value('username');
echo $data; // 输出结果:'张三'

上記のコードでは、table() 関数を使用してユーザーとしてクエリするテーブルを指定し、where() 関数を使用してクエリを指定します。ここでは ID のみをクエリします レコードは 1 で、value() 関数を使用してユーザー名フィールドの値をクエリします。

2. レコード全体をクエリする

テーブル内の完全なレコードを取得するには、find() メソッドまたは select() メソッドを使用できます。このうち、find() 関数は条件を満たす最初のレコードをクエリすることを意味し、select() 関数は条件を満たすすべてのレコードをクエリすることを意味します。

サンプル コード:

$data = Db::table('user')->where('username', '张三')->find();
print_r($data); // 输出结果:['id' => 1, 'username' => '张三', 'age' => 25]

上記のコードでは、まず table() 関数を使用してユーザーとしてクエリするテーブルを指定し、次に where() 関数を使用してテーブルを指定します。クエリ条件を指定し、ユーザー名を「Zhang Three」レコードとしてクエリし、最後に find() 関数を使用してレコード全体をクエリします。

3. 複数のフィールドをクエリする

テーブル内の複数のフィールドをクエリする場合は、field() 関数を使用してクエリするフィールドを指定できます。複数のフィールドはカンマで区切ります。

サンプル コード:

$data = Db::table('user')->where('id', 1)->field('username, age')->find();
print_r($data); // 输出结果:['username' => '张三', 'age' => 25]

上記のコードでは、field() 関数を使用して、クエリするフィールドをユーザー名と年齢として指定し、ID 1 のレコードをクエリし、最後にレコード全体をクエリする find() 関数。

4. 複数のレコードをクエリする

select() 関数を使用して、クエリ条件を満たすテーブル内の複数のレコードをクエリします。 find() 関数との違いは、select() 関数が結果セット配列で構成される 2 次元配列を返すことです。

サンプル コード:

$data = Db::table('user')->where('age', '>', 20)->select();
print_r($data); // 输出结果:[['id' => 1, 'username' => '张三', 'age' => 25], ['id' => 2, 'username' => '李四', 'age' => 28]]

上記のコードでは、table() 関数を使用してユーザーとしてクエリするテーブルを指定し、where() 関数を使用してクエリを指定します。条件を使用して年齢が 20 を超えるレコードをクエリし、select() 関数を使用して複数のレコードをクエリします。

5. クエリの並べ替え

クエリ結果を並べ替えたい場合は、order() 関数を使用できます。パラメータには昇順の asc を指定できます。または desc 降順を示します。

サンプル コード:

$data = Db::table('user')->where('age', '>', 20)->order('age desc')->select();
print_r($data); // 输出结果:[['id' => 2, 'username' => '李四', 'age' => 28], ['id' => 1, 'username' => '张三', 'age' => 25]]

上記のコードでは、where() 関数を使用してクエリ条件を指定し、20 を超える年齢のレコードをクエリし、order() 関数を使用します。最後に、select() 関数を使用して複数のレコードをクエリします。

6. ページング クエリ

クエリ結果に多くのレコードがある場合、limit() 関数を使用してページング クエリを実行できます。最初のパラメータは開始を示します。レコードの位置の 2 番目のパラメーターは、クエリされたレコードの数を示します。

サンプル コード:

$data = Db::table('user')->where('age', '>', 20)->order('age desc')->limit(0, 1)->select();
print_r($data); // 输出结果:[['id' => 2, 'username' => '李四', 'age' => 28]]

上記のコードでは、where() 関数を使用してクエリ条件を指定し、20 を超える年齢のレコードをクエリし、order() 関数を使用します。結果を年齢の降順に並べ替えてから、limit() 関数を使用して最初のレコードをクエリします。

以上がThinkPHP でテーブル クエリ ステートメントを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。