-
// 数据库操作 - Eloquent ORM 增加数据 1.建立model类 (app\Student.php) [ 类 属性/方法 ] protected $table = 表名; protected $promaryKey = 主键名; public $timestamps = false; 是否开启时间戳自动调节 protected function getDateFormat() { return time(); } 使用时间戳存入数据库 protected function asDatetime($val) { return $val; } 将数据库里的时间戳取出时不被转换为日期 protected $fillable = ['name', 'age']; 允许批量赋值的字段 白名单设置 protected $guarded = ['aa', 'bb']; 不允许批量赋值的字段 黑名单设置 public function orm2() { // 一、通过模型新增数据(涉及到自定义时间戳) // $student = new Student(); // $student -> name = 'stu1'; // $student -> age = 20; // $student -> save(); // 二、使用模型的create方法新增数据(涉及到批量赋值) // $student = new Student(); // $result = $student -> create([ // 'name' => 'create', // 'age' => 30 // ]); // firstOrCreate 查找数据并返回 如果不存在则插入该条数据并返回 // $result = Student::firstOrCreate([ // 'name' => 'aj', // 'age' => 32 // ]); // firstOrNew 查找数据并返回 如果不存在则返回该类的对象 调用save才得以保存 $result = Student::firstOrNew(['name' => 'make']); $result = $result->save(); dd($result); }查看全部
-
LTS 长期支持查看全部
-
// 数据库操作 - Eloquent ORM 查询数据 1.创建Model类型 方法里面声明两个受保护属性:$table(表名)和$primaryKey(主键) <?php namespace App; use Illuminate\Database\Eloquent\Model; class Student extends Model{ protected $table = 'student'; protected $primaryKey = 'id'; } ?> 2.Controller里面以 类名::方法 (静态方法)的风格进行操作数据库 <?php namespace App\Http\Controllers; use Illuminate\Support\Facades\DB; use App\Student; class StudentController extends Controller{ public function orm1() { echo '<pre>'; // all 通过orm获取所有数据 // $result = Student::all(); // find 通过主键返回指定的数据 // $result = Student::find(1001); // findOrFail 通过主键返回指定的数据 未查找到到则抛出异常 // $result = Student::findOrFail(1001); // 获取符合条件的数据 // $student = (Student::where('age', '<', 20)->get())['tables']; // 分段式(分页)获取数据递交给闭包函数循环处理 // Student::chunk(2, function($student) { // var_dump($student); // }); // 查询构造器之聚合函数 $result = Student::count(); dd($result); } } ?>查看全部
-
// 数据库操作 - 查询构造器 聚合函数 public function query5(){ // count 查询数据条数 // $result = DB::table('student')->count(); // max 取最大值 // $result = DB::table('student')->max('age'); // min 取最小值 // $result = DB::table('student')->min('age'); // avg 取平均数 // $result = DB::table('student')->avg('age'); // sum 求和 $result = DB::table('student')->sum('age'); var_dump($result); }查看全部
-
// 数据库操作 - 查询构造器 查询数据 public function query4(){ // get 获取所有符合条件的数据 // $result = DB::table('student') // ->where('id', '<', '1005') // ->get(); // first 获取符合条件的第一条数据 // $result = DB::table('student') // ->orderBy('id', 'desc') // ->where('age', '<=', '20') // ->first(); // whereRaw 多条件查询 // $result = DB::table('student') // ->whereRaw('sex = ? and age < ? and id < ?', [10, 20, 1020]) // ->get(); // pluck 返回结果集中指定字段 pluck(字段, [作为下标的字段]) // 注意: lists和pluck用法完全一致,但lists在5.3版本中已被弃用,故做了解 // $result = DB::table('student') // ->pluck('name','id'); // select 返回指定的字段 // $result = DB::table('student') // ->select('id', 'name', 'age') // ->get(); // chunk 分段(分页)循环取数据 $result = DB::table('student') ->chunk(2, function($student){ print_r($student); } ); // dd($result); }查看全部
-
// 数据库操作 - 查询构造器 删除数据 public function query3(){ // 返回int类型 (受影响行数) $result = DB::table('student') ->where('id',1024) ->delete(); dd($result); } // truncate清空表 少用且危险 不记了,需要用的时候再去翻查看全部
-
// 数据库操作 - 查询构造器 修改数据 public function query2(){ // 修改一条数据(带条件) 返回bool类型(受影响行数) $result = DB::table('student') ->where('id', 1023) ->update(['name'=>'query2','age'=>20]); // 自增并修改数据 increment 返回bool类型(受影响行数) $result = DB::table('student') ->where('id', 1023) ->increment('age', 2, ['name' => 'query_test2']); // 自减并修改数据 decrement 返回bool类型(受影响行数) $result = DB::table('student') ->where('id', 1023) ->decrement('age', 2, ['name' => 'query2']); dd($result); }查看全部
-
// 数据库操作 - 查询构造器 新增数据 public function query1(){ // 新增一条数据(返回bool类型 新增结果) // $result = DB::table('student')->insert([ // 'name' => 'Toky', // 'age' => 19 // ]); // 新增一条数据(返回int类型 新增后的主键ID) // $result = DB::table('student')->insertGetId([ // 'name' => '亲爱的路人', // 'age' => 19 // ]); // 增加多条数据(注: 只能使用insert 返回新增结果) $result = DB::table('student')->insert( [ ['name' => 'name1', 'age' => 31], ['name' => 'name2', 'age' => 32] ] ); dd($result); }查看全部
-
模型相关配置查看全部
-
// DB facade实现CURD(操作数据库 手写原生SQL语句) // 插入数据 (返回bool 插入是否成功) // $result = DB::insert('insert into student(name,age) values(?,?)', [ // 'abcd',23 // ]); // 查询数据 (返回array 所有查询结果) $result = DB::select('select * from student where id < ?', [ 1002 ]); // 修改数据 (返回int 受影响行数) // $result = DB::update('update student set age = ? where name = ?', [ // 21, 'EnzoLiu' // ]); // 删除数据 (返回int 受影响行数) // $result = DB::delete('delete from student where name = ?', ['abcd']); // laraevl内置函数dd 可人性化的打印数组... dd($result);查看全部
-
Laravel\app Model Laravel\resources\views View Laravel\app\Http\Controllers Controller Laravel\app\Http\routes.php Route查看全部
-
Model - 模型 Laravel\app\Member.php <?php namespace App; use Illuminate\Database\Eloquent\Model; class Member extends Model{ public static function getMember(){ return 'My name is EnzoLiu'; } } Controller调用: <?php namespace App\Http\Controllers; use App\Member; class MemberController extends Controller{ public function info($id = null){ return Member::getMember(); } } ?>查看全部
-
// 视图 - 使用模板 // 直接在控制器里面调用view然后return返回即可 // return view(路径/模板, [待传入的变量array格式]); 例: return view('member/info', ['id'=>$id]); // 视图模板格式 // 注意: 一个控制器(Controller)对应一个视图(文件夹) // 例: (控制器) MemberController.php (视图文件夹)member // 命名: 模板名.blade.php 例: info.blade.php // 在模板中调用注册后的变量(类似Smarty中的assign) // 格式: {{$变量名}} 例: {{$id}}查看全部
-
// (路由)关联控制器 (两种方式) // 方式1: // Route::请求方式('请求url',控制器名称@控制器下的方法); Route::get('member/info', 'MemberController@info'); // 方式2: // Route::请求方式('请求url',['usre'=>控制器名称@控制器下的方法']); Route::any('member/{id}', [ 'uses' => 'MemberController@info', 'as' => 'memberInfo' ])->where(['id'=>'\d+']); 控制器: namespace App\Http\Controllers; class MemberController extends Controller{ public function info($id) { // return route('memberInfo'); return 'member-info-Id-'.$id; } }查看全部
-
请求类型查看全部
举报
0/150
提交
取消