Laravel框架Eloquent ORM簡介、模型建立及查詢數(shù)據(jù)操作詳解
本文實例講述了Laravel框架Eloquent ORM簡介、模型建立及查詢數(shù)據(jù)操作。分享給大家供大家參考,具體如下:
注:以下知識點可能有不全面之處,望見諒
NO.1Eloquent ORM簡介
Laravel所自帶的Eloquent ORM是一個優(yōu)美、簡潔的ActiveRecord實現(xiàn),用來實現(xiàn)數(shù)據(jù)庫操作
每個數(shù)據(jù)表都有與之相對應的“模型(Model)”用于和數(shù)據(jù)交互
NO.2模型的建立
最基礎的模型代碼如下:
namespace App; use Illuminate\Database\Eloquent\Model; class Student extends Model { //指定表名 protected $table = 'student'; //指定id protected $primaryKey = 'id'; }
將他創(chuàng)建于app目錄下,命名為Student.php
NO.3查詢數(shù)據(jù)
首先在查詢之前,我先讓你們看一下我的數(shù)據(jù)庫
數(shù)據(jù)如上,然后查詢
1.all方式
代碼如下:
namespace App\Http\Controllers; use App\Student; use Illuminate\Support\Facades\DB; class StudentController extends Controller { public function orm1() { $students = Student::all(); dd($students); } }
顯示數(shù)據(jù)庫里的所有數(shù)據(jù)
2.find方式
代碼如下:
namespace App\Http\Controllers; use App\Student; use Illuminate\Support\Facades\DB; class StudentController extends Controller { public function orm1() { $students = Student::find(1); dd($students); } }
查找指定數(shù)據(jù)
3.findOrFail方式
代碼如下:
namespace App\Http\Controllers; use App\Student; use Illuminate\Support\Facades\DB; class StudentController extends Controller { public function orm1() { $students = Student::findOrFail(1); dd($students); } }
如果他沒查到指定的數(shù)據(jù),那么他會報錯,而find若是沒有查到該函數(shù),只會彈出一個null
4.查詢構(gòu)造器的使用
- 1.get方式使用
namespace App\Http\Controllers; use App\Student; use Illuminate\Support\Facades\DB; class StudentController extends Controller { public function orm1() { $students = Student::get(); dd($students); } }
他會得到一個完整的數(shù)據(jù)信息,和原本的意義沒有區(qū)別
- 2.first方式使用
代碼如下:
namespace App\Http\Controllers; use App\Student; use Illuminate\Support\Facades\DB; class StudentController extends Controller { public function orm1() { $student = Student::where('id','>',1) ->orderBy('age','desc') ->first(); dd($student); } }
當id大于一的時候,獲取一個最大值的age
- 3.where方式使用
代碼如下:
namespace App\Http\Controllers; use App\Student; use Illuminate\Support\Facades\DB; class StudentController extends Controller { public function orm1() { $student = Student::where('id','>',1) ->get(); dd($student); } }
- 4.chunk方式使用
代碼如下:
namespace App\Http\Controllers; use App\Student; use Illuminate\Support\Facades\DB; class StudentController extends Controller { public function orm1() { $student = Student::chunck(2,function($student){ var_dump($student); }); } }
5.聚合函數(shù)的使用
- 1.count函數(shù)
代碼如下:
namespace App\Http\Controllers; use App\Student; use Illuminate\Support\Facades\DB; class StudentController extends Controller { public function orm1() { $student = Student::count(); dd($student); } }
- 2.max函數(shù)
代碼如下:
namespace App\Http\Controllers; use App\Student; use Illuminate\Support\Facades\DB; class StudentController extends Controller { public function orm1() { $student = Student::max('age'); dd($student); } }
- 3.min函數(shù)
代碼如下:
namespace App\Http\Controllers; use App\Student; use Illuminate\Support\Facades\DB; class StudentController extends Controller { public function orm1() { $student = Student::min('age'); dd($student); } }
- 4.avg函數(shù)
代碼如下:
namespace App\Http\Controllers; use App\Student; use Illuminate\Support\Facades\DB; class StudentController extends Controller { public function orm1() { $student = Student::avg('age'); dd($student); } }
- 5.sum函數(shù)
代碼如下:
namespace App\Http\Controllers; use App\Student; use Illuminate\Support\Facades\DB; class StudentController extends Controller { public function orm1() { $student = Student::sum('age'); dd($student); } }
更多關于Laravel相關內(nèi)容感興趣的讀者可查看本站專題:《Laravel框架入門與進階教程》、《php優(yōu)秀開發(fā)框架總結(jié)》、《php面向?qū)ο蟪绦蛟O計入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家基于Laravel框架的PHP程序設計有所幫助。
相關文章
基于ThinkPHP5框架使用QueryList爬取并存入mysql數(shù)據(jù)庫操作示例
這篇文章主要介紹了基于ThinkPHP5框架使用QueryList爬取并存入mysql數(shù)據(jù)庫操作,結(jié)合實例形式分析了thinkPHP5框架整合QueryList爬取數(shù)據(jù)存入mysql相關操作技巧及注意事項,需要的朋友可以參考下2019-05-05Yii2基于Ajax自動獲取表單數(shù)據(jù)的方法
這篇文章主要介紹了Yii2基于Ajax自動獲取表單數(shù)據(jù)的方法,涉及Yii結(jié)合ajax調(diào)用鼠標事件動態(tài)查詢表單的相關技巧,需要的朋友可以參考下2016-08-08CI(CodeIgniter)框架中URL特殊字符處理與SQL注入隱患分析
這篇文章主要介紹了CI(CodeIgniter)框架中URL特殊字符處理與SQL注入隱患,結(jié)合實例形式分析了CodeIgniter框架中針對特殊字符的過濾及SQL注入隱患的相關原理,需要的朋友可以參考下2019-02-02