Laravel đã làm cho việc xử lý với cơ sở dữ liệu trở nên rất dễ dàng. Laravel hiện hỗ trợ 4 cơ sở dữ liệu sau:
- MySQL
- Postgres
- SQLite
- Máy chủ SQL
Truy vấn đến cơ sở dữ liệu có thể được kích hoạt bằng cách sử dụng SQL thô, trình tạo truy vấn thông thạo và Eloquent ORM. Để hiểu tất cả các hoạt động CRUD (Tạo, Đọc, Cập nhật, Xóa) với Laravel, chúng tôi sẽ sử dụng hệ thống quản lý sinh viên đơn giản.
Kết nối với Cơ sở dữ liệu
Định cấu hình cơ sở dữ liệu trong tệp config / database.php và tạo cơ sở dữ liệu đại học với cấu trúc trong MySQL như trong bảng sau.Cơ sở dữ liệu: Bảng Sinh Viên
Tên cột dọc | Kiểu dữ liệu cột | Thêm |
Tôi | int (11) | Khóa chính | Tăng tự động |
Tên | varchar (25) |
Chúng ta sẽ xem cách thêm, xóa, cập nhật và truy xuất các bản ghi từ cơ sở dữ liệu bằng cách sử dụng Laravel trong bảng sinh viên.
Sr.No. | Ghi lại & Mô tả |
1 | Chèn hồ sơ Chúng ta có thể chèn bản ghi bằng cách sử dụng mặt tiền DB với phương thức chèn. |
2 | Truy xuất bản ghi Sau khi cấu hình cơ sở dữ liệu, chúng ta có thể truy xuất các bản ghi bằng cách sử dụng mặt tiền DB với phương thức select. |
3 | Cập nhật hồ sơ Chúng tôi có thể cập nhật các bản ghi bằng cách sử dụng mặt tiền DB với phương thức cập nhật. |
4 | Xóa bản ghi Chúng ta có thể xóa bản ghi bằng cách sử dụng mặt tiền DB với phương thức xóa. |
1 . chèn hồ sơ:
Chúng ta có thể chèn bản ghi bằng cách sử dụng mặt tiền DB với phương thức chèn . Cú pháp của phương thức insert như trong bảng sau.
Cú pháp | bool insert (string $ query, array $ bindings = array ()) |
Thông số | $ query (string) – truy vấn để thực thi trong cơ sở dữ liệu $ bindings (array) – các giá trị để liên kết với các truy vấn |
Lợi nhuận | bool |
Sự miêu tả | Chạy một câu lệnh chèn đối với cơ sở dữ liệu. |
Thí dụ
Bước 1 – Thực hiện lệnh dưới đây để tạo bộ điều khiển có tên là StudInsertController
php artisan make:controller StudInsertController --plain
Bước 2 – Sau khi thực hiện thành công bước 1, bạn sẽ nhận được kết quả sau:
Bước 3 – Sao chép mã sau vào tệp
app / Http / Controllers / StudInsertController.php
app / Http / Controllers / StudInsertController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class StudInsertController extends Controller {
public function insertform() {
return view('stud_create');
}
public function insert(Request $request) {
$name = $request->input('stud_name');
DB::insert('insert into student (name) values(?)',[$name]);
echo "Record inserted successfully.<br/>";
echo '<a href = "/insert">Click Here</a> to go back.';
}
}
Bước 4 – Tạo một tệp dạng xem có tên là resources / views / stud_create.php và sao chép đoạn mã sau vào tệp đó.
resource / views / stud_create.php
<html>
<head>
<title>Student Management | Add</title>
</head>
<body>
<form action = "/create" method = "post">
<input type = "hidden" name = "_token" value = "<?php echo csrf_token(); ?>">
<table>
<tr>
<td>Name</td>
<td><input type='text' name='stud_name' /></td>
</tr>
<tr>
<td colspan = '2'>
<input type = 'submit' value = "Add student"/>
</td>
</tr>
</table>
</form>
</body>
</html>
Bước 5 – Thêm các dòng sau vào app / Http / route.php .app / Http / route.php
Route::get('insert','StudInsertController@insertform');
Route::post('create','StudInsertController@insert');
Bước 6 – Truy cập URL sau để chèn bản ghi vào cơ sở dữ liệu.
http://localhost:8000/insert
Bước 7 – Đầu ra sẽ xuất hiện như trong hình sau.
2 Truy xuất bản ghi:
Sau khi cấu hình cơ sở dữ liệu, chúng ta có thể truy xuất các bản ghi bằng cách sử dụng mặt tiền DB với phương thức select . Cú pháp của phương thức select như trong bảng sau.
Cú pháp | chọn mảng (chuỗi $ truy vấn, mảng $ ràng buộc = mảng ()) |
Thông số | $ query (string) – truy vấn để thực thi trong cơ sở dữ liệu $ bindings (array) – các giá trị để liên kết với các truy vấn |
Lợi nhuận | mảng |
Sự miêu tả | Chạy một câu lệnh chọn đối với cơ sở dữ liệu. |
Thí dụ
Bước 1 – Thực hiện lệnh dưới đây để tạo một bộ điều khiển có tên là StudViewController .
php artisan make:controller StudViewController --plain
Bước 2 – Sau khi thực hiện thành công bước 1, bạn sẽ nhận được kết quả sau:
Bước 3 – Sao chép mã sau vào tệp
app / Http / Controllers / StudViewController.php
app / Http / Controllers / StudViewController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class StudViewController extends Controller {
public function index() {
$users = DB::select('select * from student');
return view('stud_view',['users'=>$users]);
}
}
Bước 4 – Tạo một tệp dạng xem có tên là resource / views / stud_view.blade.php và sao chép đoạn mã sau vào tệp đó.resource / views / stud_view.blade.php
<html>
<head>
<title>View Student Records</title>
</head>
<body>
<table border = 1>
<tr>
<td>ID</td>
<td>Name</td>
</tr>
@foreach ($users as $user)
<tr>
<td>{{ $user->id }}</td>
<td>{{ $user->name }}</td>
</tr>
@endforeach
</table>
</body>
</html>
Bước 5 – Thêm các dòng sau vào app / Http / route.php.
app / Http / route.php
Route::get('view-records','StudViewController@index');
Bước 6 – Truy cập URL sau để xem các bản ghi từ cơ sở dữ liệu.
http://localhost:8000/view-records
Bước 7 – Đầu ra sẽ xuất hiện như trong hình sau.
3. Cập nhật hồ sơ:
Chúng tôi có thể cập nhật các bản ghi bằng cách sử dụng mặt tiền DB với phương thức cập nhật . Cú pháp của phương thức cập nhật như trong bảng sau.
Cú pháp | int update (string $ query, array $ bindings = array ()) |
Thông số | $ query (string) – truy vấn để thực thi trong cơ sở dữ liệu $ bindings (array) – các giá trị để liên kết với các truy vấn |
Lợi nhuận | NS |
Sự miêu tả | Chạy một câu lệnh cập nhật đối với cơ sở dữ liệu. |
Thí dụ
Quan sát ví dụ sau để hiểu thêm về cập nhật bản ghi –
Bước 1 – Thực hiện lệnh dưới đây để tạo một bộ điều khiển có tên là StudViewController .
php artisan make:controller StudUpdateController --plain
Bước 2 – Sau khi thực hiện thành công, bạn sẽ nhận được kết quả sau:
Bước 3 – Sao chép mã sau vào tệp ứng dụng / Http / Controllers / StudUpdateController.php
app / Http / Controllers / StudUpdateController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class StudUpdateController extends Controller {
public function index() {
$users = DB::select('select * from student');
return view('stud_edit_view',['users'=>$users]);
}
public function show($id) {
$users = DB::select('select * from student where id = ?',[$id]);
return view('stud_update',['users'=>$users]);
}
public function edit(Request $request,$id) {
$name = $request->input('stud_name');
DB::update('update student set name = ? where id = ?',[$name,$id]);
echo "Record updated successfully.<br/>";
echo '<a href = "/edit-records">Click Here</a> to go back.';
}
}
Bước 4 – Tạo tệp dạng xem có tên
resource / views / stud_edit_view.blade.php và sao chép đoạn mã sau vào tệp đó.resource / views / stud_edit_view.blade.php
<html>
<head>
<title>View Student Records</title>
</head>
<body>
<table border = "1">
<tr>
<td>ID</td>
<td>Name</td>
<td>Edit</td>
</tr>
@foreach ($users as $user)
<tr>
<td>{{ $user->id }}</td>
<td>{{ $user->name }}</td>
<td><a href = 'edit/{{ $user->id }}'>Edit</a></td>
</tr>
@endforeach
</table>
</body>
</html>
Bước 5 – Tạo một tệp dạng xem khác được gọi là
resource / views / stud_update.php và sao chép đoạn mã sau vào tệp đó.resource / views / stud_update.php
<html>
<head>
<title>Student Management | Edit</title>
</head>
<body>
<form action = "/edit/<?php echo $users[0]->id; ?>" method = "post">
<input type = "hidden" name = "_token" value = "<?php echo csrf_token(); ?>">
<table>
<tr>
<td>Name</td>
<td>
<input type = 'text' name = 'stud_name'
value = '<?php echo$users[0]->name; ?>'/>
</td>
</tr>
<tr>
<td colspan = '2'>
<input type = 'submit' value = "Update student" />
</td>
</tr>
</table>
</form>
</body>
</html>
Bước 6 – Thêm các dòng sau vào app / Http / route.php.app / Http / route.php.
Route::get('edit-records','StudUpdateController@index');
Route::get('edit/{id}','StudUpdateController@show');
Route::post('edit/{id}','StudUpdateController@edit');
Bước 7 – Truy cập URL sau để cập nhật các bản ghi trong cơ sở dữ liệu.
http://localhost:8000/edit-records
Bước 8 – Đầu ra sẽ xuất hiện như trong hình sau.
Bước 9 – Nhấp vào liên kết chỉnh sửa trên bất kỳ bản ghi nào và bạn sẽ được chuyển hướng đến một trang nơi bạn có thể chỉnh sửa bản ghi cụ thể đó.
Bước 10 – Đầu ra sẽ xuất hiện như trong hình sau.
Bước 11 – Sau khi chỉnh sửa bản ghi đó, bạn sẽ thấy một lời nhắc như trong hình sau.
4. Xóa bản ghi:
Chúng ta có thể xóa bản ghi bằng cách sử dụng mặt tiền DB với phương thức xóa . Cú pháp của phương thức xóa được hiển thị trong bảng sau.
Cú pháp | int delete (chuỗi $ truy vấn, mảng $ ràng buộc = mảng ()) |
Thông số | $ query (string) – truy vấn để thực thi trong cơ sở dữ liệu $ bindings (array) – các giá trị để liên kết với các truy vấn |
Lợi nhuận | NS |
Sự miêu tả | Chạy câu lệnh xóa đối với cơ sở dữ liệu. |
Thí dụ
Bước 1 – Thực hiện lệnh dưới đây để tạo một bộ điều khiển có tên là StudDeleteController .
php artisan make:controller StudDeleteController --plain
Bước 2 – Sau khi thực hiện thành công, bạn sẽ nhận được kết quả sau:
Bước 3 – Sao chép mã sau vào tệp
app / Http / Controllers / StudDeleteController.phpapp / Http / Controllers / StudDeleteController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class StudDeleteController extends Controller {
public function index() {
$users = DB::select('select * from student');
return view('stud_delete_view',['users'=>$users]);
}
public function destroy($id) {
DB::delete('delete from student where id = ?',[$id]);
echo "Record deleted successfully.<br/>";
echo '<a href = "/delete-records">Click Here</a> to go back.';
}
}
Bước 4 – Tạo tệp dạng xem có tên
resource / views / stud_delete_view.blade.php và sao chép đoạn mã sau vào tệp đó.resource / views / stud_delete_view.blade.php
<html>
<head>
<title>View Student Records</title>
</head>
<body>
<table border = "1">
<tr>
<td>ID</td>
<td>Name</td>
<td>Edit</td>
</tr>
@foreach ($users as $user)
<tr>
<td>{{ $user->id }}</td>
<td>{{ $user->name }}</td>
<td><a href = 'delete/{{ $user->id }}'>Delete</a></td>
</tr>
@endforeach
</table>
</body>
</html>
Bước 5 – Thêm các dòng sau vào app / Http / route.php .
app / Http / route.php
Route::get('delete-records','StudDeleteController@index');
Route::get('delete/{id}','StudDeleteController@destroy');
Bước 6 – Đầu ra sẽ xuất hiện như trong hình sau.
Bước 7 – Nhấp vào liên kết xóa để xóa bản ghi đó khỏi cơ sở dữ liệu. Bạn sẽ được chuyển đến một trang nơi bạn sẽ thấy một thông báo như trong hình sau.
Bước 8 – Nhấp vào liên kết “Nhấp vào đây” và bạn sẽ được chuyển hướng đến một trang nơi bạn sẽ thấy tất cả các bản ghi ngoại trừ bản đã bị xóa.