Laravel và Eloquent giúp tăng tốc độ phát triển ứng dụng và nền tảng, cung cấp giải pháp thích hợp cho hầu hết các vấn đề. Các yêu cầu được giải quyết bằng sự phát triển nhanh hơn, cũng như mã được tổ chức tốt, có thể tái sử dụng, có thể bảo trì và có thể mở rộng.
Các nhà phát triển có thể làm việc trong Eloquent
với nhiều cơ sở dữ liệu một cách hiệu quả bằng cách sử dụng triển khai ActiveMethod. Đó là một mẫu kiến trúc trong đó mô hình được tạo trong cấu trúc Model-View-Controller (MVC) tương ứng với một bảng trong cơ sở dữ liệu. Ưu điểm là các mô hình thực hiện các thao tác cơ sở dữ liệu thông thường mà không cần mã hóa các truy vấn SQL dài. Mẫu cho phép bạn truy vấn dữ liệu trong bảng và chèn bản ghi mới vào bảng. Quá trình đồng bộ hóa nhiều cơ sở dữ liệu chạy trên các hệ thống khác nhau được đơn giản hóa. Bạn không cần phải viết truy vấn SQL. Tât cả nhưng điêu bạn phải lam la defiHoàn thành các bảng cơ sở dữ liệu và mối quan hệ giữa chúng và Eloquent sẽ thực hiện phần còn lại của công việc.
Đánh giá cao tiện ích của Eloquent ORM và hiểu hệ sinh thái là điều bắt buộc. Các bước để bắt đầu:
migration
sử dụng bảng điều khiển Artisan
eloquent
seed
của cơ sở dữ liệuArtisan Console
là tên của giao diện dòng lệnh có trong Laravel. Cung cấp một tập hợp các lệnh hữu ích để sử dụng trong khi phát triển ứng dụng của bạn. Nó được thúc đẩy bởi thành phần mạnh mẽ Symfony Console
.
Để xem danh sách tất cả các lệnh Artisan có sẵn, bạn có thể sử dụng lệnh list:
php artisan list
Tất cả các lệnh đi kèm với một mô tả ngắn gọn về các đối số và tùy chọn của nó. Điều này được hiển thị trong màn hình "trợ giúp". Để hiển thị màn hình trợ giúp, chỉ cần thêm “help” vào trước tên lệnh như hình minh họa:
php artisan help migrate
Migration
Di chuyển là một quy trình quản lý cơ sở dữ liệu bằng cách viết PHP thay thế SQL
. Cung cấp một cách để thêm kiểm soát phiên bản vào cơ sở dữ liệu.
Để tạo di chuyển, chỉ cần chạy lệnh sau:
php artisan make:migration create_student_records
Điều này tạo ra tệp di chuyển. Trong trình soạn thảo văn bản của bạn, hãy mở tệp bạn vừa tạo trong thư mục database\migrations
:
<?php
use IlluminateSupportFacadesSchema;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateDatabaseMigrationsMigration;
class CreateStudentRecordsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('student__records', function (Blueprint $table) {
$table->increments('id');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('student__records');
}
}
Mã là một lớp có cùng tên 'create student records
', và có hai phương pháp: lên và xuống. Phương thức up sẽ thực hiện các thay đổi đối với cơ sở dữ liệu; vì vậy bất cứ khi nào bạn di chuyển cơ sở dữ liệu của mình, bất kỳ mã nào trong phương thức up sẽ được thực thi. Mặt khác, phương thức down sẽ khôi phục các thay đổi cơ sở dữ liệu đó; vì vậy bất cứ khi nào bạn chạy rollback
của migration
, phương thức down sẽ hoàn tác những gì phương thức up đã làm. Bên trong phương pháp up
có trình tạo lược đồ được sử dụng để tạo và thao tác với các bảng. Điều gì xảy ra nếu bạn hủy bỏ một số di chuyển của mình? Tất cả những gì bạn phải làm là thực hiện lệnh sau:
php artisan migrate:rollback
Và anh ấy sẽ thu thập cái cuối cùng migration
mà đã được thực hiện. Ngoài ra, bạn hoàn toàn có thể khôi phục cơ sở dữ liệu bằng cách chạy:
php artisan migrate:reset
Thao tác này sẽ hủy tất cả các lần di chuyển của bạn.
Eloquent
Sau khi quá trình di chuyển cơ sở dữ liệu hoàn tất, quá trình tiếp theo là seeding
. Eloquent
đi vào chơi kể từ khi seeding
đang chèn bản ghi vào cơ sở dữ liệu của chúng tôi. Vì vậy, bạn sẽ cần tạo các mẫu trước khi điền vào cơ sở dữ liệu. Mỗi bảng cơ sở dữ liệu có một mô hình tương ứng được sử dụng để tương tác với bảng đó. Mẫu cho phép bạn truy vấn dữ liệu trong bảng của mình, cũng như chèn bản ghi mới vào bảng. Cách dễ nhất để khởi tạo mô hình là sử dụng lệnh sau:
php artisan make:model Student
Một ví dụ về mẫu được hiển thị bên dưới Student
, có thể được sử dụng để truy xuất và lưu trữ thông tin từ bảng cơ sở dữ liệu của học sinh:
<?php
namespace App;
use IlluminateDatabaseEloquentModel;
class Student extends Model
{
//
}
Khi bạn tạo một mô hình và đồng thời bạn muốn tạo di chuyển cơ sở dữ liệu, bạn có thể sử dụng tùy chọn –migration
o -m
:
php artisan make:model Student --migration
php artisan make:model Student -m
Nhìn chung, các seeder là một tập hợp các lớp đặc biệt cho phép chúng tôi điền đi điền lại cơ sở dữ liệu của mình với cùng một dữ liệu. Chúng tôi thực hiện lệnh sau:
php artisan make:seeder StudentsRecordSeeder
Trong trình soạn thảo văn bản, bên dưới thư mục seed, mở tệp mới tạo với tên tệp: StudentsRecordSeeder.php
. Như bạn có thể thấy đây chỉ là một lớp rất đơn giản với một phương thức gọi là run
().
<?php
use IlluminateDatabaseSeeder;
class StudentsRecordSeeder extends Seeder
{
/**
* Run the database seeds
* @return void
*/
public function run()
{
//
}
}
Mã này chỉ là một trình bao bọc xung quanh lớp lệnh điều khiển, được xây dựng đặc biệt để giúp thực hiện nhiệm vụ seeding
. Chỉnh sửa mã và sau đó lưu nó.
public function run()
{
echo 'Seeding!';
}
Và đi đến thiết bị đầu cuối:
php artisan db:seed --class=StudentsRecordSeeder
Bây giờ bạn có thể điền vào bảng một số mục nhập và chạy:
php artisan db:seed --class=class=StudentsRecordSeeder
Tại đây, bạn có thể tiếp tục xóa, thêm, sửa đổi các mục nhập trong DB, sau đó khôi phục chúng bằng một lệnh đơn giản.
Các thao tác CRUD với Laravel Eloquent object-relational mapper (ORM) giúp các nhà phát triển Laravel làm việc với nhiều cơ sở dữ liệu dễ dàng hơn. Nó thực hiện các thao tác tạo, đọc, cập nhật và xóa (CRUD) và ánh xạ các mô hình đối tượng vào các bảng cơ sở dữ liệu. Xử lý tất cả các tương tác cơ sở dữ liệu cần thiết cho hoạt động CRUD.
Bạn có thể sử dụng phương thức ::create để chèn một bản ghi mới vào cơ sở dữ liệu.
student_record::create(array(
'first_name' => 'John',
'last_name' => 'Doe',
'student_rank' => 1
));
Ngoài cách tạo đơn giản như trình bày ở trên, bạn cũng có thể tạo một đối tượng mới và đặt cho nó các thuộc tính khác. Sau đó, bạn có thể gọi hàm save() và chạy mã. phương pháp như firstOrCreate
() hoặc firstOrNew
() là các tùy chọn khác để tạo bản ghi. Những điều này sẽ cho phép bạn tìm một sinh viên với các thuộc tính nhất định; nếu không tìm thấy sinh viên đó, bạn sẽ tạo nó trong cơ sở dữ liệu hoặc khởi tạo một phiên bản mới.
Sử dụng Eloquent ORM, bạn có thể tìm thấy các bản ghi trong cơ sở dữ liệu của mình. Các truy vấn được xây dựng đơn giản và cung cấp một luồng thông suốt. Để tạo báo cáo::where
, bạn sẽ sử dụng các phương pháp get
() Và first
(). phương pháp first
() sẽ chỉ trả về một bản ghi, trong khi phương thức get
() sẽ trả về một mảng các bản ghi có thể lặp lại. Ngoài ra, phương pháp find
() có thể được sử dụng với một mảng các khóa chính, sẽ trả về một tập hợp các bản ghi phù hợp. Dưới đây là một số ví dụ:
$student = Students::all();
Mã này được tất cả các sinh viên. Trong khi đoạn mã sau tìm một sinh viên cụ thể theo ID:
$student = Sinh viên::tìm(1);
Ngoài ra, như được hiển thị bên dưới, đoạn mã này mô tả việc tìm kiếm một sinh viên dựa trên một thuộc tính cụ thể.
$JohnDoe = Students::where('name', '=', 'John Doe')->first();
Đối với phương thức get(), mã này cho biết cách tìm một học sinh có trình độ trên 5.
$rankStudents = Student::where('student_rank', '>', 5)->get();
Cập nhật bản ghi bằng Eloquent cũng dễ dàng như vậy. Để cập nhật bản ghi, chỉ cần tìm bản ghi bạn muốn cập nhật, chỉnh sửa các thuộc tính và lưu. Ví dụ: để thay đổi cấp lớp của học sinh John Doe thành 5, trước tiên hãy tìm học sinh đó rồi thực hiện phương thức lưu.
$JohnDoe = Bear::where('name', '=', 'John Doe')->first();
$JohnDoe->danger_level = 5;
$JohnDoe->save();
Phương thức lưu cũng có thể được sử dụng để cập nhật các mô hình đã tồn tại trong cơ sở dữ liệu.
Eloquent tự hào về quy trình cập nhật bản ghi dễ dàng của mình, nhưng nó cũng có cùng một câu chuyện với việc xóa. Có hai tùy chọn: kéo ra các bản ghi và thực hiện phương thức xóa hoặc đơn giản là sử dụng phương thức hủy. Để tìm và xóa một bản ghi, chỉ cần chạy các lệnh sau:
$student = Students::find(1);
$student->delete();
Để xóa một bản ghi và nhiều bản ghi, các lệnh được chạy:
Students::destroy(1);
Students::destroy(1, 2, 3);
Lưu ý rằng các tham số hủy chỉ là các khóa chính không giống như phương thức xóa có thể chấp nhận bất kỳ cột cơ sở dữ liệu nào.
Để tìm và xóa tất cả học sinh trên cấp 10.
Students::where('student_rank', '>', 10)->delete();
Ercole Palmeri
Một ca phẫu thuật tạo hình mắt bằng cách sử dụng trình xem thương mại Apple Vision Pro đã được thực hiện tại Phòng khám đa khoa Catania…
Phát triển kỹ năng vận động tinh thông qua tô màu giúp trẻ chuẩn bị cho những kỹ năng phức tạp hơn như viết. Để tô màu…
Ngành hải quân là một cường quốc kinh tế toàn cầu thực sự, đang hướng tới thị trường 150 tỷ...
Thứ Hai tuần trước, Financial Times đã công bố một thỏa thuận với OpenAI. FT cấp phép cho hoạt động báo chí đẳng cấp thế giới…