小編給大家分享一下Laravel框架Eloquent ORM簡介、模型建立及查詢數據操作的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
NO.1Eloquent ORM簡介
Laravel所自帶的Eloquent ORM是一個優美、簡潔的ActiveRecord實現,用來實現數據庫操作
每個數據表都有與之相對應的“模型(Model)”用于和數據交互
NO.2模型的建立
最基礎的模型代碼如下:
namespace App; use Illuminate\Database\Eloquent\Model; class Student extends Model { //指定表名 protected $table = 'student'; //指定id protected $primaryKey = 'id'; }
將他創建于app目錄下,命名為Student.php
NO.3查詢數據
首先在查詢之前,我先讓你們看一下我的數據庫
數據如上,然后查詢
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); } }
顯示數據庫里的所有數據
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); } }
查找指定數據
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); } }
如果他沒查到指定的數據,那么他會報錯,而find若是沒有查到該函數,只會彈出一個null
4.查詢構造器的使用
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); } }
他會得到一個完整的數據信息,和原本的意義沒有區別
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.聚合函數的使用
1.count函數
代碼如下:
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函數
代碼如下:
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函數
代碼如下:
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函數
代碼如下:
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函數
代碼如下:
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框架Eloquent ORM簡介、模型建立及查詢數據操作的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。