关于路由
<?php
/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/
//Route::get('Member/info/{name}/id/{id}', function ($name,$id) {
// var_dump($name.":".$id);
//});
////post方式请求
//Route::post("Member/post",function (){
// return "post";
//});
////让参数是可选的
//Route::get("Member/param/{name?}/id/{id?}",function ($name=null,$id=0){
// return $name.$id;
//});
////多请求匹配
//Route::match(['get','post'],"Member/test",function (){
// return "123";
//});
////使用正则匹配
//Route::get("Member/reg/{name}",function ($name){
// var_dump($name);
//})->where('name','[A-Aa-z]+');
////给路由起个别名
//Route::get('member/member-center',['as'=>'center',function(){
// return route("center");
//}]);
//控制器和路由的关联
//Route::get("Member/info","MemberController@info");
//控制器和路由的关联
Route::get("Member/info",['uses'=>"MemberController@info"]);
Route::get("student/test1","StudentController@test1");
Route::get("student/query1","StudentController@query1");
Route::get("student/query2","StudentController@query2");
Route::get("student/query3","StudentController@query3");
Route::get("student/query4","StudentController@query4");
Route::get("student/orm1","StudentController@orm1");
Route::get("student/orm2","StudentController@orm2");
Route::get("student/orm3","StudentController@orm3");
//带参数绑定
Route::get("Member/info/{name?}",['uses'=>"MemberController@info"]);
关于控制器
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2017/12/8
* Time: 21:41
*/
namespace App\Http\Controllers;
use App\Student;
use Illuminate\Support\Facades\DB;
class StudentController extends Controller
{
public function test1(){
// $result=DB::select("select * from student");
//新增数据
// $result=DB::insert('insert into student(`name`, `age`) values(?,?)',['zc',18]);
//更新数据
// $result=DB::update('update student set name=? where age>=?',['666',18]);
//删除数据
// $result=DB::delete('delete from student where id >?',[1001]);
return "curd的基本操作";
}
public function query1(){
//单条插入
// $result=DB::table("student")->insert(['name'=>123,'age'=>19]);
//返回插入的id
// $result=DB::table("student")->insertGetid(['name'=>456,'age'=>20]);
//批量插入
$result=DB::table("student")->insert([['name'=>"qwe",'age'=>21],['name'=>"qwr",'age'=>22]]);
return (string)$result;
}
public function query2(){
//数据的更新
// $result=DB::table("student")->where('id',1012)->update(['age'=>100]);
//多条件更新
// $result=DB::table("student")->where(['id'=>1012,'age'=>100])->update(['name'=>"张超"]);
//自增
// $result=DB::table("student")->where('id',1012)->increment("age",666);
//自减
// $result=DB::table("student")->where('id',1012)->decrement('age',200);
//删除数据
// $result=DB::table("student")->where('id',1012)->delete();
// $result=DB::table("student")->where('id','>=',1019)->delete();
//删除整表 谨慎使用 不返回任何值
$result=DB::table("student")->truncate();
return $result;
}
public function query3(){
//get 获取表中所有数据
// $result=DB::table("student")->get();
//获取结果集中的第一条数据
// $result=DB::table("student")->orderBy("id","desc")->first();
//给where加多个条件
// $result=DB::table("student")->whereRaw("age>? and id>?",[10,1])->orderBy("id","desc")->get();
//指定字段查询
// $result=DB::table("student")->pluck("name");
//使用lists
// $result=DB::table("student")->lists("name","id");//使用id作为键返回
//排除查询
// $result=DB::table("student")->select("name","age")->get();
//指定查询次数
echo "<pre>";
DB::table("student")->chunk(2,function ($student){
var_dump($student);
});
}
//聚合函数
public function query4(){
//最大值
// $result=DB::table("student")->max("age");
//总的记录数
// $result=DB::table("student")->count();
//最小值
// $result=DB::table("student")->min("age);
//某一列的总和
// $result=DB::table("student")->sum("age");
//平均数
$result=DB::table("student")->avg("age");
var_dump($result);
}
public function orm1(){
// $student=Student::all();//查询表的所有记录、返回一个集合
//根据id查找
// $student=Student::find(7);//返回值是一个对象
//根据主键查找、如果没找到、就报错
// $student=Student::findOrFail(7);
//查询所有记录
// $student=Student::get();
//根据条件、使用查询构造器查询
// $student=Student::where("id",">",3)->orderBy("id","desc")->first();
//使用chunk
// $student=Student::chunk(1,function ($result){
// dd($result);
// });
//使用聚合函数
$student=Student::max("age");
var_dump($student);
}
public function orm2(){
//使用模型新增数据
// $student = new Student();
// $student->name="123";
// $student->age=100;
// $result=$student->save();
//查询出刚才新增的数据
// $result = Student::orderBy("id","desc")->first();
// echo "<pre>";
// echo date("Y-m-d H:i:s",$result->created_at);
//使用模型的create方法、增加数据
// $result=Student::create(['name'=>998,'age'=>12]);
//firstOrreate 先查找、如果没有数据、则新增、并且返回新的实例对象
// $result=Student::firstOrCreate(['name'=>147]);
//firstOrNew() 同上、只是如果需要保存的时候、需要自己调用save()
$result=Student::firstOrNew(['name'=>963]);
$result=$result->save();
var_dump($result);
}
public function orm3(){
//通过模型更新数据
// $student=Student::find(15);
// $student->name="zc";
// $result=$student->save();
// var_dump($result);//返回值为 boolean
//结合查询语句批量更新
// $student=Student::where('id',">",6)->update(['name'=>852]);
// var_dump($student);//返回值为数值
//通过模型删除
// $student=Student::find(7);
// $result=$student->delete();
// var_dump($result);
//通过主键删除
// $result=Student::destroy(8);
//多个删除
// $result=Student::destroy(13,14,15);//返回受影响的行数
//根据条件删除
$result=Student::where('id','>',3)->delete();
var_dump($result);
}
}
控制器包含了查询构造器和ORM操作
关于模型
<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2017/12/8
* Time: 22:52
*/
namespace App;
use Illuminate\Database\Eloquent\Model;
class Student extends Model
{
//指定表名
protected $table="student";
//指定主键
protected $primaryKey="id";//默认是id、如果你的额主键不是id、则换成其他的
//自动维护时间戳
public $timestamps=true;
//指定允许批量赋值的字段
protected $fillable=['name','age'];
//格式化时间戳
protected function getDateFormat(){
return time();
}
protected function asDateTime($value)
{
return $value;
}
}
扫一扫、马上有礼哟