laraveldongthoigian

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ọcKiểu dữ liệu cộtThêm
Tôiint (11)Khóa chính | Tăng tự động
Tênvarchar (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ả
1Chè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.
2Truy 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.
3Cậ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.
4Xó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ápbool 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ậnbool
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:

laraveldongthoigian

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ápchọ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ậnmả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:

laraveldongthoigian

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.

laraveldongthoigian

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ápint 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ậnNS
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:

laraveldongthoigian

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.

laraveldongthoigian

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.

laraveldongthoigian

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.

laraveldongthoigian

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ápint 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ậnNS
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:

laraveldongthoigian

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.

laraveldongthoigian

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.

laraveldongthoigian

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.

laraveldongthoigian

Laravel – Errors and Logging Lỗi và Ghi nhật ký Xem Thêm

Trả lời