Laravel框架Eloquent ORM簡介、模型建立及查詢數(shù)據(jù)操作詳解
本文實(shí)例講述了Laravel框架Eloquent ORM簡介、模型建立及查詢數(shù)據(jù)操作。分享給大家供大家參考,具體如下:
注:以下知識(shí)點(diǎn)可能有不全面之處,望見諒
NO.1Eloquent ORM簡介
Laravel所自帶的Eloquent ORM是一個(gè)優(yōu)美、簡潔的ActiveRecord實(shí)現(xiàn),用來實(shí)現(xiàn)數(shù)據(jù)庫操作
每個(gè)數(shù)據(jù)表都有與之相對(duì)應(yīng)的“模型(Model)”用于和數(shù)據(jù)交互
NO.2模型的建立
最基礎(chǔ)的模型代碼如下:
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ù),那么他會(huì)報(bào)錯(cuò),而find若是沒有查到該函數(shù),只會(huì)彈出一個(gè)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);
}
}
他會(huì)得到一個(gè)完整的數(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);
}
}
當(dāng)id大于一的時(shí)候,獲取一個(gè)最大值的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);
}
}
更多關(guān)于Laravel相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Laravel框架入門與進(jìn)階教程》、《php優(yōu)秀開發(fā)框架總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對(duì)大家基于Laravel框架的PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
ThinkPHP查詢語句與關(guān)聯(lián)查詢用法實(shí)例
這篇文章主要介紹了ThinkPHP查詢語句與關(guān)聯(lián)查詢用法,以實(shí)例的形式常見的查詢方法,包括數(shù)組作為查詢條件及對(duì)象方式來查詢等技巧,需要的朋友可以參考下2014-11-11
CodeIgniter開發(fā)實(shí)現(xiàn)支付寶接口調(diào)用的方法示例
這篇文章主要介紹了CodeIgniter開發(fā)實(shí)現(xiàn)支付寶接口調(diào)用的方法,結(jié)合實(shí)例形式分析了CodeIgniter開發(fā)支付寶接口的操作步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-11-11
Laravel 中創(chuàng)建 Zip 壓縮文件并提供下載的實(shí)現(xiàn)方法
這篇文章主要介紹了Laravel 中創(chuàng)建 Zip 壓縮文件并提供下載,本文通過兩個(gè)任務(wù),實(shí)例代碼相結(jié)合的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-04

