// 基礎路由 get // http://localhost/testGet Route::get('testGet', function(){ return 'HELLO WORLD'; }); // 基礎路由 post Route::post('testPost', function (){ return 'Hello Post'; }); // 多請求路由 match // http://localhost/testMatch Route::match(['get','post'],'testMatch', function (){ return 'Hello match'; }); // 多請求路由 any // http://localhost/testAny Route::any('testAny', function(){ return 'Hello any'; }); // 路由參數 // http://localhost/testGetUser/12 /*Route::get('testGetUser/{id}', function ($id){ return 'testGetUserId='.$id; });*/ /*// 路由參數 // http://localhost/testGetUser/name Route::get('testGetUser/{name?}', function ($name = 'NULL'){ return 'testGetUserName='.$name; })->where('name','[A-za-z]+')*/; // 路由參數 // http://localhost/testGetUser/1/name /*Route::get('testGetUser/{id}/{name?}', function ($id, $name = 'NULL'){ return 'id='.$id.'testGetUserName='.$name; })->where(['id'=>'[0-9]+','name'=>'[A-za-z]+']);*/ // 路由別名[爲整個路由取別名] // http://localhost/testGetUser/center Route::get('testGetUser/center',['as' => 'center', function(){ return route('center'); }]); // 路由羣組 // http://localhost/member/testAny Route::group(['prefix' => 'member'], function (){ Route::any('testAny', function(){ return 'Hello member-any'; }); }); // 路由中輸出視圖 // http://localhost/view Route::get('view', function (){ return view('welcome'); });
// http://localhost/testController Route::get('testController', 'TestController@testController');
Route::get('testController',[ 'uses' => 'TestController@testController', 'as' => 'testInfo', ]);
// [路由文件]http://localhost/testController/1 Route::get('testController/{id}',['uses' => 'TestController@testController']);
<?php /** * Created by PhpStorm. * User: admin * Date: 2018/6/5 * Time: 15:45 */ namespace App\Http\Controllers; class TestController extends Controller { // [控制器文件] TEST public function testController ($id) { return 'id-'.$id; // return route('testInfo'); // phpinfo(); } }
// 參數驗證php
// http://localhost/testController/1 Route::get('testController/{id}',['uses' => 'TestController@testController']) ->where('id', '[0-9]');
// 新建視圖文件testview.php,輸出testview php // 控制器輸出 return view('testview');
// controller文件 public function testController ($id) { return view('test/test',[ 'id' => $id ]); }
test/test blade {{$id}}
<?php /** * Created by PhpStorm. * User: admin * Date: 2018/6/5 * Time: 17:37 */ namespace App; use Illuminate\Database\Eloquent\Model; class Test extends Model { public static function getTestInfo () { return 'THIS IS A GOOD IDEA'; } }
public function testController ($id) { return Test::getTestInfo(); }
// 路由 Route::get('getUserInfo', ['uses' => 'userController@getUserInfo']);
<?php namespace App\Http\Controllers; use Illuminate\Support\Facades\DB; class userController extends Controller { public function getUserInfo () { // 返回的bool值 $res['res'] = DB::insert('insert into user(name,age) values(?,?)', ['name2',18]); // 返回影響行數 $res['changeRes'] = DB::update('update user set age = ? where id = ?', [17,1]); $res['userData'] = DB::select('select * from user'); // 返回刪除的行數 <!--$res['userData'] = DB::delete('delete from user where id = ?', [5]);--> <!--return $res;--> // 格式化 dd($res); } }
// 輸出顯示 array:1 [▼ "userData" => array:4 [▼ 0 => {#202 ▼ +"id": 1 +"name": "maomao" +"age": 17 } 1 => {#204 ▼ +"id": 2 +"name": "xinxin" +"age": 18 } 2 => {#205 ▼ +"id": 3 +"name": "name" +"age": 18 } 3 => {#206 ▼ +"id": 4 +"name": "name2" +"age": 18 } ] ]
// 查詢構造器 新增 public function queryBuilder() { // 返回的bool值 $res['bool'] = DB::table('user')->insert( ['name' => 'queryBuilder', 'age' => 19], ['name' => 'queryBuilder2', 'age' => 19] ); // 獲取 $res['id'] = DB::table('user')->insertGetId( ['name' => 'queryBuilder', 'age' => 19] ); var_dump($res); } // 查詢構造器 更新 public function queryBuilder2() { // 返回的影響行數 $res['num'] = DB::table('user') ->where('id', 1) ->update( ['name' => 'queryBuilderMao', 'age' => 19] ); // 更新自增 $res['incrementNum'] = DB::table('user') ->where('id', 1) ->increment('age',1); // 更新自減 $res['decrementNum'] = DB::table('user') ->where('id', 1) ->decrement('age',1); // 更新自增自減時修改其它條件信息 $res['decrementNum'] = DB::table('user') ->where('id', 1) ->decrement('age',1,['name' => 'lala']); var_dump($res); } // 查詢構造器 刪除 public function queryBuilder3() { // 返回的影響行數 $res['deleteNum'] = DB::table('user') ->where('id', 6) ->delete(); // 區間條件刪除 $res['deleteNum2'] = DB::table('user') ->where('id','>=', 5) ->get(); // 清除表信息 $res['truncateNum'] = DB::table('user') ->truncate(); var_dump($res); } // 查詢構造器 查詢 public function queryBuilder4() { // 第一條 $res['frist'] = DB::table('user') ->orderBy('id', 'desc') ->frist(); // 所有 $res['user'] = DB::table('user') ->get(); // 清除表信息 $res['truncateNum'] = DB::table('user') ->truncate(); var_dump($res); }
<?php namespace App\Http\Controllers; use App\Student; class StudentController extends Controller { public function orm() { // 查詢 all() $student = Student::all(); dd($student); // find() 一條 $findData = Student::find(2); dd($findData); // findOrFail() 根據逐漸查找,沒有則拋出異常 $findData = Student::findOrFa (3); dd($findData); // 查詢第一條 $findData = Student::where('id','>', '1') ->orderBy('id', 'desc') ->first(); dd($findData); // 分組 echo '<pre>'; Student::chunk(1,function ($students) { var_dump($students); }); // 聚合函數(count, max, min, avg) $num = Student::count(); } // 使用模型新增數據 public function orm1() { // student模型對象 $student = new Student(); $student ->name = 'name133'; $student ->age = 12; $bool = $student->save(); dd($bool); $student = Student::find(5); echo date('Y-m-d H:i:s', $student->created_at); // 使用模型的Create方法新增數據 $addRes = Student::create( ['name'=>'llll','age'=>12] ); // 使用模型的firstOrCreate方法新增數據 $addRes = Student::firstOrCreate( ['name'=>'lll','age'=>12] ); // 使用模型的firstOrNew方法新增數據,經過屬性查詢用戶沒有則創建新的實例 $student = Student::firstOrNew( ['name'=>'ll','age'=>12] ); // 須要保存則自行調用save $addRes = $student->save(); dd($addRes); } // 更新 public function orm2() { // 返回更新行數 $num = Student::where('id','>',2) ->update(['name'=> 'sb']); var_dump($num); } // 刪除 public function orm3() { $students = Student::find(1); $bool = $students->delete(); // 經過主鍵刪除 $num = Student::destroy(1); $num2 = Student::where('id', '<',12) ->delete(); } }