CakePHP는 널리 사용되는 PHP 프레임워크인 반면, Eloquent는 Laravel 프레임워크에서 사용되는 ORM(Object Relational Mapping) 도구입니다. CakePHP에는 자체 ORM 도구가 함께 제공되지만 일부 개발자는 Eloquent의 구문과 경험을 선호할 수 있습니다. Eloquent를 CakePHP와 함께 사용해보고 싶다면 이 문서에서 몇 가지 지침을 제공할 것입니다.
먼저 Eloquent를 설치하려면 Composer를 사용해야 합니다. 명령줄에서 다음 명령을 실행하세요:
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를 초기화하고 데이터베이스에 연결합니다. 실제 데이터베이스에 연결하려면 연결 세부 정보를 바꿔야 합니다.
Eloquent에서는 각 테이블을 해당 모델에 매핑할 수 있습니다. 우리가 작업하려는 각 CakePHP 테이블을 나타내는 모델을 만들어야 합니다. 예를 들어 users
라는 테이블이 있는 경우 User
모델을 생성해야 합니다. app/Model/ 경로 아래에 Users.php
라는 파일을 생성하고 다음 코드를 작성할 수 있습니다: users
的表,那么你需要创建一个User
模型。你可以在路径app/Model/下创建一个名为Users.php
的文件,并编写以下代码:
use IlluminateDatabaseEloquentModel as Eloquent; class User extends Eloquent { protected $table = 'users'; }
在这个模型类中,我们告诉Eloquent这个模型对应的是users
表。你也可以在User
// 创建一条新记录 $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();이 모델 클래스에서 우리는 이 모델이
users 테이블. <code>User
모델에서 모델과 관련된 다른 메서드와 속성을 정의할 수도 있습니다. $users = User::where('name', 'John')->get();이러한 작업의 구문은 Laravel에서 Eloquent를 사용하는 것과 동일합니다. 모델에 다른 방법을 추가하여 더 복잡한 작업을 수행할 수 있습니다. Eloquent는 쿼리 빌더, 관계, 이벤트 등과 같은 다른 일반적인 작업도 지원합니다.
$users = User::where('active', 1) ->orderBy('name', 'desc') ->take(10) ->get();체인 메서드를 사용하여 쿼리를 추가로 집계할 수 있습니다.
// 在CakePHP控制器中 public function index() { $users = User::all(); $this->set('users', $users); } // 在CakePHP视图中 <?php foreach ($users as $user): ?> <div><?= $user->name ?></div> <?php endforeach ?>그러면 상위 10명의 활성화된 사용자가 이름을 기준으로 역순으로 정렬되어 반환됩니다.
rrreee
여기에서는 Eloquent를 사용하여 모든 사용자를 가져와서 CakePHP 뷰 템플릿에 전달합니다. 쿼리 결과를 다른 라이브러리나 함수에 전달하고 CakePHP의 다른 함수를 사용하여 처리할 수 있습니다. SummaryEloquent는 Laravel 프레임워크에서 일반적으로 사용되는 인기 있는 PHP ORM 도구입니다. 그러나 Eloquent 사용의 구문과 경험을 선호한다면 이를 CakePHP와 통합할 수도 있습니다. 위 단계를 사용하면 CakePHP에서 Eloquent를 쉽게 사용할 수 있습니다. 최상의 결과를 얻으려면 Eloquent를 CakePHP의 다른 라이브러리 및 기능과 통합해야 한다는 점을 기억하세요. 🎜위 내용은 Eloquent를 CakePHP와 함께 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!