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 サイトの他の関連記事を参照してください。