ThinkPHP5でモデルのクエリオブジェクトを配列に変換する
ThinkPHP5では、モデルのtoArrayメソッドで、クエリ結果オブジェクト型のデータを配列型に変換できます。
一例を挙げると
- ユーザーテーブルに対応するUserモデルクラスがあるものとする。
<?php
namespace app\common\model;
use think\Model;
class User extends Model
{
}
- コントローラー内でモデルを使っての検索結果を配列型に変換
<?php
namespace app\index\controller;
use app\common\model\User;
use think\Controller;
class Index extends Controller
{
public function index()
{
// 使用模型查询数据
$user = User::find(1);
// 将查询结果转换为数组类型
$userArr = $user->toArray();
// 输出数组类型的查询结果
dump($userArr);
}
}
上の例では、まず、Userモデルのfindメソッドを使ってidが1のユーザー情報を検索し、そのあとtoArrayメソッドを使って検索結果のオブジェクト型を配列型に変換し、最後にdump関数を使って配列型の検索結果を出力しています。
検索結果が複数の場合は、モデルの all メソッドでクエリを実行し、toArray メソッドでクエリ結果セットを二次元配列型に変換することができます。