Laravel框架學習(路由、控制器、模型)
阿新 • • 發佈:2018-12-17
1、路由
Route::any('/', function () {
return view('welcome');
});
/* 路由群組 */
Route::group(['prefix'=>'member'],function(){
Route::any('test1', ['as'=>'center',function () {
/*return route('center');*/
return view('welcome');
}]);
});
Route::get('info',['uses'=>'[email protected] ']);
2、控制器
<?php
namespace App\Http\Controllers;
class TestController extends Controller
{
public function index(){
return view('basic1',['name'=>'哈哈']);
}
}
3、檢視
4、模型
<?php namespace App\Http\Controllers; use App\Member; class TestController extends Controller { public function index(){ return Member::getMember(); } }
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Member extends Model
{
public static function getMember(){
return 'Member';
}
}
5、使用DB façade和查詢構造器操作資料庫
<?php namespace App\Http\Controllers; use Illuminate\Support\Facades\DB; class StudentController extends Controller { // public function index(){ //使用DB façade操作資料庫 $bool = DB::insert('insert into student(name,age) values(?,?)',['Leroi',18]); var_dump($bool); $num = DB::update('update student set age = ? where name = ?',[20,'Leroi']); var_dump($num); $students = DB::select('select * from student'); dd($students); $num = DB::delete('delete from student where id > ?',[0]); var_dump($num); //使用查詢構造器 //簡單插入 $bool = DB::table('student')->insert(['name'=>'Li','age'=>18]); var_dump($bool); //插入之後獲取id $id = DB::table('student')->insertGetId(['name'=>'LiL','age'=>28]); var_dump($id); //插入多條資料 $bool = DB::table('student')->insert([ ['name'=>'Lpi','age'=>16], ['name'=>'Lia','age'=>108], ]); var_dump($bool); //更新 $num = DB::table('student')->where('id',2)->update(['age'=>50]); $num = DB::table('student')->increment('age',1); $num = DB::table('student')->decrement('age',1,['name'=>'啦啦啦']); var_dump($num); //刪除 $num = DB::table('student')->where('id','>=',4)->delete(); var_dump($num); /////////多註釋幾個以防萬一/////////$num = DB::table('student')->truncate(); var_dump($num); //獲取表的所有資料 $students = DB::table('student')->get(); dd($students); $students = DB::table('student')->orderBy('id','desc')->where('id','>=',2)->get(); dd($students); //獲取結果資訊第一條 $students = DB::table('student')->orderBy('id','desc')->first(); dd($students); //多條件查詢 $students = DB::table('student')->where('id','>',2)->where('id','<',4)->get(); dd($students); $students = DB::table('student')->whereRaw('id >= ? and id < ?',[2,4])->get(); dd($students); //pluck $names = DB::table('student')->pluck('name'); dd($names); //指定鍵名 $names = DB::table('student')->pluck('name','id'); dd($names); //select $students = DB::table('student')->select('id','name','age')->get(); dd($students); //chunk DB::table('student')->orderBy('id','desc')->chunk(2,function($students){ var_dump($students); if (condition) { return false; } }); //聚合函式 $num = DB::table('student')->count(); $max = DB::table('student')->max('age'); $min = DB::table('student')->min('age'); $avg = DB::table('student')->avg('age'); $sum = DB::table('student')->sum('age'); } }
6、使用ORM進行資料庫操作
//模型
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Student extends Model
{
//指定表名
protected $table = 'student';
//指定id
protected $primaryKey = 'id';
//是否自動維護時間戳
public $timestamps = true;
//指定可以批量賦值的欄位
public $fillable = ['name','age'];
//指定欄位不可以批量賦值
public $guarded = [];
public function getDateFormat(){
return time();
}
}
//操作
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB;
use App\Student;
class StudentController extends Controller
{
public function index(){
//使用ORM進行資料庫操作
//全部查詢
$students = Student::all();
//根據主鍵查詢
$students = Student::find(1);
//根據主鍵查詢,沒有則丟擲異常
$students = Student::findOrFail(1);
//使用查詢構造器查詢
$students = Student::get();
$students = Student::where('id','>',1)->orderBy('age','desc')->first();
Student::orderBy('id','desc')->chunk(2,function($students){
var_dump($students);
});
$num = Student::count();
//使用模型新增資料
$student = new Student();
$student->name = '哈哈';
$student->age = 108;
$bool = $student->save();
dd($bool);
//使用模型Create方法新增資料
$student = Student::create(['name'=>'ico','age'=>18]);
//firstOrCreate以屬性查詢使用者,若沒有則新增
$student = Student::firstOrCreate(['name'=>'ipco']);
//firstOrNew以屬性查詢使用者,若沒有則返回新的例項,若要儲存可儲存例項
$student = Student::firstOrNew(['name'=>'ipcoooo']);
$bool = $student->save();
dd($bool);
//通過模型更新資料
$student = Student::find(1);
$student->name = 'kitty';
$bool = $student->save();
var_dump($bool);
$num = Student::where('id','>',2)->update(['age'=>41]);
var_dump($num);
//通過模型刪除
$student = Student::find(1);
$bool = $student->delete();
//通過主鍵刪除
$num = Student::destory(1);
$num = Student::destory(2,3);
$num = Student::destory([2,3]);
$num = Student::where('id','>',1)->delete();
}
}