thinkphp クエリ データベースが配列を返す

WBOY
リリース: 2023-05-26 10:05:36
オリジナル
1277 人が閲覧しました

Web 開発プロセスでは、データベース クエリは避けられない部分です。その中でも、thinkphp は PHP フレームワークとして豊富なデータベース操作メソッドを提供しており、この記事では、thinkphp を使用してデータベースにクエリを実行し、配列を返す方法について説明します。

1. 環境構成

thinkphp を使用してデータベース操作を実行する前に、最初に環境構成を実行する必要があります。

  1. thinkphp プロジェクトのルート ディレクトリで database.php ファイルを見つけます。このファイルは thinkphp データベース構成ファイルです。ファイルを開いて、次のフィールド:
// 数据库类型
'type'        => 'mysql',
// 服务器地址
'hostname'    => 'localhost',
// 数据库名
'database'    => 'database_name',
// 数据库用户名
'username'    => 'root',
// 数据库密码
'password'    => 'root',
// 数据库编码
'charset'     => 'utf8mb4',
// 数据库表前缀
'prefix'      => '',
ログイン後にコピー
  1. 設定ファイルでは、データベースの接続情報も設定する必要があります。次のコードを config.php に追加できます:
// 数据库连接参数配置
'db_config'       => [
    // 数据库类型
    'type'        => 'mysql',
    // 服务器地址
    'hostname'    => 'localhost',
    // 数据库名
    'database'    => 'database_name',
    // 数据库用户名
    'username'    => 'root',
    // 数据库密码
    'password'    => 'root',
    // 数据库编码
    'charset'     => 'utf8mb4',
    // 数据库表前缀
    'prefix'      => '',
    // 数据库连接参数
    'params'    => [
        PDO::ATTR_CASE => PDO::CASE_NATURAL, // 不进行大小写转换
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, // 抛出异常
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, // 默认以关联数组形式返回数据
    ],
],
ログイン後にコピー
  1. 次のコードを config.php に追加して、データベースの構成とパラメータを有効にします。 :
// 数据库相关配置
'default_return_type' => 'array', // 默认返回数据集类型为数组

// 数据库配置
'db_config'       => require_once(APP_PATH.'database.php'),
'database'        => $db_config['database'], // 数据库名称
'prefix'          => $db_config['prefix'], // 表前缀
ログイン後にコピー
  1. この時点で、環境設定は完了です。

2. データベース クエリ操作

データベースにクエリを実行して配列を返したい場合は、Db クラスが提供する関連メソッドを使用する必要があります。 thinkphp によってカプセル化されます。以下では、例として user テーブルのクエリを取り上げます。

  1. すべてのユーザーをクエリする
$users = Db::name('user')->select();
dump($users);
ログイン後にコピー

上記のコードでは、Db::name('user') はユーザー テーブル ## をクエリすることを意味します。 #select () は、ユーザー テーブル内のすべてのデータをクエリし、結果を $users 変数に保存することを意味します。 dump()この関数は変数に関する詳細情報を出力できるため、コードのデバッグが容易になります。

    単一ユーザーのクエリ
  1. $user = Db::name('user')->where('id', 1)->find();
    dump($user);
    ログイン後にコピー
上記のコードの

where() 関数は、ID 1、 を持つユーザーをクエリすることを意味します。 find() この関数は、データをクエリして返すことを表します。 $user変数に格納されるのはクエリ結果です。

    データの総数をクエリする
  1. $count = Db::name('user')->count();
    echo $count;
    ログイン後にコピー
上記のコードでは、

count() 関数は、データの総数を返すことができます。ユーザーテーブル。 echo を使用して出力できます。

    Query user name
  1. $usernames = Db::name('user')->column('name');
    dump($usernames);
    ログイン後にコピー
上記のコードでは、

column('name') は、user テーブルの name 列のみがクエリであることを意味します。 $usernames変数に格納されるのはクエリ結果です。

    ユーザー名と年齢のクエリ
  1. $userinfos = Db::name('user')->field('name,age')->select();
    dump($userinfos);
    ログイン後にコピー
上記のコードの

field('name,age') は、名前のみをクエリすることを意味します。 user テーブルと age 列の場合、クエリ結果は $userinfos 変数に保存されます。

    20 歳以上のユーザーをクエリする
  1. $users = Db::name('user')->where('age', '>', 20)->select();
    dump($users);
    ログイン後にコピー
上記のコードでは、

where('age', '>', 20) は、年齢が 20 歳を超えるユーザーをクエリするには、クエリ結果が $users 変数に保存されることを意味します。

    ネイティブ SQL ステートメントを使用してクエリを実行する
  1. $users = Db::query('select * from user');
    dump($users);
    ログイン後にコピー
上記のコードでは、

Db::query() はネイティブ SQL ステートメントを使用してクエリを実行できます。データベース。

3. クエリ結果の戻り値の型

thinkphp は、クエリ結果の複数の戻り値の型をサポートしています。一般的な戻り値の型をいくつか示します。

    Array
上記のコードでは、thinkphp がデフォルトで配列型のクエリ結果を返すことがわかりました。

config.php に次のコードを追加して、デフォルトの戻りメソッドを指定できます:

'default_return_type' => 'array',
ログイン後にコピー

    Object
戻り値を返すクエリを設定できます。デフォルトのオブジェクトタイプの結果。

config.php に次のコードを追加します。

'default_return_type' => 'object',
ログイン後にコピー

    JSON
json タイプを返すようにクエリ結果を設定できます。次のコードを

config.php に追加します:

'default_return_type' => 'json',
ログイン後にコピー
IV. 概要

この記事では主に、thinkphp を使用してデータベースにクエリを実行し、配列を返す方法を紹介します。その中で、環境構成、データベースクエリ操作、クエリ結果の戻り値の型などについて学びました。実際の開発プロセスでは、特定のプロジェクトのニーズに基づいて、適切なクエリ メソッドと結果の戻り値の型を選択する必要があります。この記事を読むことで、thinkphp のデータベース操作についての理解がさらに深まると思います。

以上がthinkphp クエリ データベースが配列を返すの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート