Blogger Information
Blog 145
fans 7
comment 7
visits 164570
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
03月9-11日作业:路由器、控制器和数据库操作
李东亚¹⁸⁰³⁹⁵⁴⁰¹²⁰
Original
802 people have browsed it

作业一:

1、路由案例
1.1代码:

  1. Route::get('/db',function(){
  2. // dd($data);
  3. return DB::table('staff')->select('name','age')->get();
  4. });
  5. Route::get('/demo',function(){
  6. return view('demo');
  7. });
  8. Route::get('/hello',function(){
  9. return '欢迎访问页面';
  10. });
  11. Route::get('/sum/{a?}/{b?}',function ($a = 4, $b = 10) {
  12. return $a . '+' . $b . '=' . ($a + $b);
  13. });
  14. Route::get('/homecontroller/index','HomeController@index');
  15. Route::get('/homecontroller/db','HomeController@db');
  16. //数据库操作
  17. Route::get('/dbcontroller/db','DbController@db');
  18. //查询构造器
  19. Route::get('/dbcontroller/table','DbController@table');

1.2运行结果:

2、控制器

  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use Illuminate\Support\Facades\DB;
  5. class HomeController extends Controller
  6. {
  7. public function index(){
  8. $name=$_GET['name'];
  9. $age=$_GET['age'];
  10. $user=[$name,$age];
  11. $data['username']=$user;
  12. // dd($data);
  13. return view('home/index1',$data);
  14. }
  15. public function db(){
  16. $data=DB::table('staff')->select('name','age')->get();
  17. // dd($data);
  18. $users['list']=$data;
  19. return view('home/index',$users);
  20. }
  21. }

3、数据库操作(代码):

  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Support\Facades\DB;
  4. class DbController extends Controller
  5. {
  6. public function db(){
  7. // $n=$_GET['size'];
  8. // 查询
  9. // $data=DB::select('SELECT `staff_id`,`name`,`age`,`mobile` FROM `staff` LIMIT 0, :n',['n'=>$n]);
  10. // 更新操作
  11. $res=DB::update('update `staff` SET `age`=? WHERE `staff_id`=?',[18,1]);
  12. dd($res);
  13. // return $res;
  14. }
  15. //增加数据
  16. public function table(){
  17. $data = [
  18. 'name'=> '东方不败',
  19. 'sex'=>1,
  20. 'age'=>30,
  21. 'salary'=>8000,
  22. 'email'=>'dfbb@php.cn',
  23. 'mobile'=> '15800448811',
  24. 'password'=>sha1('123456'),
  25. 'created_at'=>time(),
  26. 'updated_at'=>time(),
  27. ];
  28. $user= DB::table('staff')->insertGetId($data);
  29. dd($user);
  30. }
  31. //查询数据
  32. public function select(){
  33. $data= DB::table('staff')->select(['staff_id','name','age','mobile'])->get();
  34. dd($data);
  35. }
  36. //更新数据
  37. public function update(){
  38. $data= DB::table('staff')->where('staff_id',1)->update(['salary'=>10000]);
  39. dd($data);
  40. }
  41. //删除数据
  42. public function delete(){
  43. return DB::table('staff')->whereBetween('staff_id',[14,16])->delete();
  44. }
  45. }

作业二

一、laravel框架目录知识点:
1、控制器目录:blog\app\Http\Controllers;
2、网站根目录(www):public
3、路由目录:routes
4、视图目录:resources\views
5、环境配置文件:.evn
laravel中的定义输出函数dump();dd();输出后终止应用

二、路由相关知识:
1、将URL请求地址,映射到应用程序上的功能, 就是路由技术
2、Laravel中的Web请求默认路由文件是:routes/web.phpLaravel中的所有Web访问,必须设置路由才会生效
3、路由有路由动作和路由行为组成:例如:Route::get('hello', funciton (){...})
4、laravel中路由主要有web.php(url请求)和api.php(api接口请求)
5、路由的动作:GET,POST,PUT,PATCH,DELETE;
如果一个请求,需要响应多个动作,可以这样做:

  1. // 可响应GET/POST请求
  2. Route::match(['get', 'post'], 'url', function () {...});
  3. // 可响应任何请求
  4. Route::any('url', function () {...});

6、路由参数:必选参数:{}标识;可选参数{?};参数类型约束:->where(参数,类型);链式调用

  1. Route::get('sum/{a}/{b}', function ($a, $b) {
  2. return "$a + $b = " . ($a + $b);
  3. })->where(['a'=>'\d+', 'b'=>'\d+']);

7、闭包路由中(第二个参数必须是闭包)闭包函数的返回数据, 不要使用echo,应该统一使用return, 由响应对象决定如何返回前端;
8、路由第二个参数可以有控制器代替也成为控制路由;8、路由第二个参数可以有控制器代替;
三、数据库操作
1、原生查询:

  • Laravel 默认全部采用PDO实现数据库的CURD操作
  • 参数占位符,支持匿名(?)与命名二种语法(:name)

1.2、操作数据库需要引用DB类:use Illuminate\Support\Facades\DB;
1、3操作方法:
增(insert):DB::insert(‘sql语句’,数据);返回true
删(delete): DB::delete(‘sql语句’,数据);返回受影响记录
改(update): DB::insert(‘sql语句’,数据);返回更新行数
查(select): DB::insert(‘sql语句’,数据);返回
sql语句:
查:SELECTid,name,emailFROMstaffsLIMIT 0, :n', ['n'=>$n]
更:'UPDATEstaffsSETage= ?,salary= ? WHEREid= ? ', [$age, $salary, $id]
增:'INSERTstaffs' . $fields . ' VALUES ' . $values;
删:'DELETE FROMstaffsWHEREid= ?', [$id]
删除更新必须有where条件
2、查询构造器
2.1:语句结构
DB::table(‘表名’)->insert(数据)/insertGetId();
DB::table(‘表名’)->where(条件)->update(数据组)
DB::table(‘表名’)->where(条件)->delete()
查询函数:get()、first()、value()、pluck(value,key)
3、字段封装:

  • 参数是字符串列表: select('id','name as 姓名','email')
  • 参数是字符串数组: select(['id','name','email'])
    4、常用where条件:
    语法1: where(字段, 操作符, 值)
    语法2: whereBetween(字段, [起始, 结束])
    语法3: whereIn(字段, [值1,值2, ...])
    5、其他方法
  • toSql(): 查看生成的SQL语句模板
  • toArray(): 将结果对象集合转为数组
Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:总结的很好, 操作数据库有多种方式, DB可以, 模型也很棒
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post