Bài giảng Phát triển phần mềm nguồn mở: Bài 10 - Nguyễn Hữu Thể
lượt xem 2
download
Bài giảng này giới thiệu một số tính năng khác của lavarel là database, migrations & seeding, trong đó có một tính năng rất quan trọng đó là migration. Với migration chúng ta có thể tương tác với cấu trúc của database một cách dễ dàng nhưng tạo bảng, xoá bảng, thêm cột, xoá cột, sửa tên cột, thay đổi kiểu dữ liệu…bằng các định nghĩa các file migration bằng code rồi sau đó thực thi thì hệ thống sẽ tự động tạo ra các cấu trúc CSDL cho các bạn. Mời các bạn cùng tham khảo.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Phát triển phần mềm nguồn mở: Bài 10 - Nguyễn Hữu Thể
- PHÁT TRIỂN PHẦN MỀM NGUỒN MỞ DATABASE, MIGRATIONS & SEEDING Nguyễn Hữu Thể
- Database ❖ Introduction ❖ Configuration ❖ Read & Write Connections 2
- Giới thiệu − Laravel kết nối tới các database và thực thi các query với nhiều database back-ends thông qua sử dụng • raw SQL, • fluent query builder, • Eloquent ORM. − Hiện tại, Laravel hỗ trợ sẵn 4 database: • MySQL • Postgres • SQLite • SQL Server 3
- Cấu hình − Thư mục config/database.php. • Trong file này: có thể định nghĩa tất cả các kết nối cơ sở dữ liệu, cũng như chỉ định connection nào là mặc định. ❖ Cấu hình SQL Server 'sqlsrv' => [ 'driver' => 'sqlsrv', 'host' => env('DB_HOST', 'localhost'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'prefix' => '', ], 4
- Đọc & ghi các kết nối 'mysql' => [ 'read' => [ 'host' => '192.168.1.1', ], 'write' => [ 'host' => '196.168.1.2' ], 'driver' => 'mysql', 'database' => 'database', 'username' => 'root', 'password' => '', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ], 5
- Thiết lập database trong file cấu hình chung .env (Tên_Project/.env) APP_ENV=local REDIS_HOST=127.0.0.1 APP_KEY=base64:SPqqJfE1ADzonR REDIS_PASSWORD=null ot2o5g9J8Ix3iRVHsFOclr0KC1KHI= REDIS_PORT=6379 APP_DEBUG=true APP_LOG_LEVEL=debug MAIL_DRIVER=smtp APP_URL=http://localhost MAIL_HOST=mailtrap.io MAIL_PORT=2525 DB_CONNECTION=mysql MAIL_USERNAME=null DB_HOST=127.0.0.1 MAIL_PASSWORD=null DB_PORT=3306 MAIL_ENCRYPTION=null DB_DATABASE=ten_database DB_USERNAME=root PUSHER_APP_ID= DB_PASSWORD= PUSHER_KEY= PUSHER_SECRET= BROADCAST_DRIVER=log CACHE_DRIVER=file SESSION_DRIVER=file QUEUE_DRIVER=sync 6
- Thực thi lệnh select namespace App\Http\Controllers; use Illuminate\Support\Facades\DB; use App\Http\Controllers\Controller; class UserController extends Controller { public function index() { $users = DB::select('select * from users where active = ?', [1]); return view('user.index', ['users' => $users]); } } Có thể thực thi câu query sử dụng liên kết đặt tên: $results = DB::select('select * from users where id = :id', ['id' => 1]); 7
- Thực thi lệnh select Syntax array select(string $query, array $bindings = array()) •$query(string) – query to execute in database Parameters •$bindings(array) – values to bind with queries Returns array Description Run a select statement against the database. 8
- Thực thi câu lệnh insert − Hàm insert nhận câu raw SQL query ở tham số đầu tiên, và bindings ở tham số thứ hai DB::insert('insert into users (id, name) values (?, ?)', [1, ‘Tom']); Syntax bool insert(string $query, array $bindings = array()) •$query(string) – query to execute in database Parameters •$bindings(array) – values to bind with queries Returns bool Description Run an insert statement against the database. 9
- Thực thi câu lệnh update − Hàm update: update các records đang có trong cơ sở dữ liệu. Số lượng row ảnh hưởng bởi câu lệnh sẽ được trả về qua hàm này $affected = DB::update('update users set votes = 100 where name = ?', ['John']); Syntax int update(string $query, array $bindings = array()) •$query(string) – query to execute in database Parameters •$bindings(array) – values to bind with queries Returns int Description Run an update statement against the database. 10
- Thực thi câu lệnh delete − Hàm delete: xoá các records khỏi cơ sở dữ liệu. Giống như update, số lượng dòng bị xoá sẽ được trả về $deleted = DB::delete('delete from users'); Syntax int delete(string $query, array $bindings = array()) •$query(string) – query to execute in database Parameters •$bindings(array) – values to bind with queries Returns int Description Run a delete statement against the database. 11
- Thực thi một câu lệnh chung − Một vài câu lệnh cơ sở dữ liệu không trả về giá trị gì cả. Với những thao tác kiểu này, có thể sử dụng hàm statement trong DB facade DB::statement('drop table users'); 12
- Database Example − Table student Column Name Column Datatype Extra Id int(11) Primary key | Auto increment Name varchar(25) − We will see how to add, delete, update and retrieve records from database using Laravel in student table. 13
- Database Example - insert − Step 1 − Execute the below command to create a controller called StudInsertController php artisan make:controller StudInsertController 14
- Step 2 − Code file app/Http/Controllers/StudInsertController.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."; echo '
- Step 3 − Create a view file resources/views/stud_create.php Student Management | Add
- Step 4 − Add the following lines in routes\web.php Route::get('insert','StudInsertController@insertform'); Route::post('create','StudInsertController@insert'); Step 5 − Visit the following URL to insert record in database. 17
- Database Example - Update − Step 1 − Execute the below command to create a controller called StudViewController. php artisan make:controller StudUpdateController 18
- Step 2 − Code file app/Http/Controllers/ StudUpdateController.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."; echo 'Click Here to go back.'; } }
- Step 3 − Create a view resources/views/stud_edit_view.blade.php View Student Records ID Name Edit @foreach ($users as $user) {{ $user->id }} {{ $user->name }} Edit @endforeach
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Phát triển phần mềm mã nguồn mở: Chương 2 - ThS. Dương Thành Phết
21 p | 104 | 12
-
Bài giảng Phát triển phần mềm mã nguồn mở: Chương 1 - ThS. Dương Thành Phết
31 p | 113 | 10
-
Bài giảng Phát triển phần mềm hướng dịch vụ: Phần 1
56 p | 49 | 8
-
Bài giảng Phát triển phần mềm mã nguồn mở: Linux Kernel - Bùi Minh Quân
32 p | 132 | 8
-
Bài giảng Phát triển phần mềm mã nguồn mở: Quản lý gói phần mềm - TS. Ngô Bá Hùng
12 p | 110 | 8
-
Bài giảng Phát triển phần mềm hướng dịch vụ: Phần 2
65 p | 30 | 7
-
Bài giảng Phát triển phần mềm mã nguồn mở: Lập trình C/Linux - Bùi Minh Quân
29 p | 94 | 6
-
Bài giảng Phát triển phần mềm mã nguồn mở: Mở đầu - Bùi Minh Quân
12 p | 104 | 5
-
Bài giảng Phát triển phần mềm mã nguồn mở: Thị trường điện tử
43 p | 51 | 5
-
Bài giảng Phát triển phần mềm mã nguồn mở: Linux user management - Bùi Minh Quân
28 p | 123 | 5
-
Bài giảng Phát triển phần mềm mã nguồn mở: Giới thiệu về phần mềm mã nguồn mở - Bùi Minh Quân
39 p | 93 | 5
-
Bài giảng Phát triển phần mềm mã nguồn mở: Linux operating system - Bùi Minh Quân (tt)
43 p | 91 | 5
-
Bài giảng Phát triển phần mềm mã nguồn mở: Giới thiệu
16 p | 80 | 4
-
Bài giảng Phát triển phần mềm mã nguồn mở: IDE và SDK
40 p | 38 | 4
-
Bài giảng Phát triển phần mềm mã nguồn mở: MVC
12 p | 40 | 4
-
Bài giảng Phát triển phần mềm mã nguồn mở: Linux operating system - Bùi Minh Quân
15 p | 97 | 4
-
Bài giảng Phát triển phần mềm mã nguồn mở: Giới thiệu Drupal
49 p | 29 | 3
-
Bài giảng Phát triển phần mềm mã nguồn mở: Zend framework
11 p | 33 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn