CakePHP は人気のある PHP フレームワークであり、Eloquent は Laravel フレームワークで使用される ORM (オブジェクト リレーショナル マッピング) ツールです。 CakePHP には独自の ORM ツールが付属していますが、一部の開発者は Eloquent の構文とエクスペリエンスを好む場合があります。 CakePHP で Eloquent を使用してみたい場合は、この記事がいくつかのガイダンスを提供します。
まず、Composer を使用して Eloquent をインストールする必要があります。コマンドラインで次のコマンドを実行します:
composer require illuminate/database
インストールが完了したら、app/Config/bootstrap.php ファイルを開き、次のコードを追加します:
require ROOT . DS . 'vendor' . DS . 'autoload.php'; use IlluminateDatabaseCapsuleManager as Capsule; $capsule = new Capsule; $capsule->addConnection([ 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'my_database', 'username' => 'root', 'password' => 'root', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ]); $capsule->setAsGlobal(); $capsule->bootEloquent();
このコード スニペットは初期化されます。雄弁でデータベースに接続します。実際のデータベースに接続するために、接続の詳細を必ず置き換えてください。
Eloquent では、各テーブルを対応するモデルにマッピングできます。操作したい各 CakePHP テーブルを表すモデルを作成する必要があります。たとえば、users
というテーブルがある場合は、User
モデルを作成する必要があります。パス app/Model/ の下に Users.php
という名前のファイルを作成し、次のコードを記述します:
use IlluminateDatabaseEloquentModel as Eloquent; class User extends Eloquent { protected $table = 'users'; }
このモデル クラスでは、このモデルが何に対応しているかを Eloquent に伝えます。 users
テーブル。 User
モデル内のモデルに関連する他のメソッドやプロパティを定義することもできます。
モデルを取得したら、それを使用してデータベース操作を実行できます。一般的な CRUD 操作に Eloquent を使用する方法の例をいくつか示します。
// 创建一条新记录 $user = new User; $user->name = 'John'; $user->email = 'john@example.com'; $user->save(); // 通过id获取一条记录 $user = User::find(1); // 更新一条记录 $user = User::find(1); $user->email = 'new_email@example.com'; $user->save(); // 删除一条记录 $user = User::find(1); $user->delete();
これらの操作の構文は、Laravel で Eloquent を使用する場合と同じです。モデルに他のメソッドを追加して、より複雑な操作を実行できます。 Eloquent は、クエリ ビルダー、リレーションシップ、イベントなどの他の一般的な操作もサポートしています。
Eloquent のクエリ ビルダーを使用してクエリを簡素化できます。 Eloquent のクエリ ビルダーを使用すると、連鎖メソッドを使用してクエリを構築できます。たとえば、次のコードを使用して、John という名前のすべてのユーザーを取得できます。
$users = User::where('name', 'John')->get();
クエリは、チェーン メソッドを使用してさらに要約できます。
$users = User::where('active', 1) ->orderBy('name', 'desc') ->take(10) ->get();
これにより、最初の 10 人のアクティブ化されたユーザーが返されます。 by 名前の逆順に並べ替えます。
CakePHP で他のライブラリや機能を使用している場合は、CakePHP と Eloquent の間で対話する必要がある場合があります。幸いなことに、これは簡単に実行できます。 Eloquent のクエリを実行すると、標準の PHP 配列またはオブジェクトが返されます。これらの結果を、ビュー テンプレートや他のコントローラー メソッドなど、他の CakePHP ライブラリや関数に渡すことができます。
Eloquent のクエリ結果を CakePHP ビューに渡したい場合は、次のコードを使用できます:
// 在CakePHP控制器中 public function index() { $users = User::all(); $this->set('users', $users); } // 在CakePHP视图中 <?php foreach ($users as $user): ?> <div><?= $user->name ?></div> <?php endforeach ?>
ここでは、Eloquent を使用してすべてのユーザーを取得し、それらをCakePHP ビュー テンプレート。クエリ結果を他のライブラリまたは関数に渡し、CakePHP の他の関数を使用してそれらを処理することができます。
概要
Eloquent は、Laravel フレームワークで一般的に使用される人気のある PHP ORM ツールです。ただし、Eloquent を使用する構文とエクスペリエンスを好む場合は、Eloquent を CakePHP と統合することもできます。上記の手順を使用すると、CakePHP で Eloquent を簡単に使用できます。最良の結果を得るには、Eloquent を CakePHP の他のライブラリおよび機能と統合する必要があることに注意してください。
以上がCakePHP で Eloquent を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。