這篇文章帶給大家的內容是關於Laravel資料庫操作Eloquent ORM方法小結(程式碼範例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
laravel 作業資料庫一般都會使用它的Eloquent ORM才操作
建立模型
<?php namespace App; use Illuminate\Database\Eloquent\Model; class Student extends Model { //指定表名 默认 模型名的复数 protected $table='student'; //指定主键 默认主键 为ID protected $primaryKey='id'; //指定允许批量赋值的字段 protected $fillable=['name','age']; //指定不允许批量赋值的字段 protected $guarded=[]; //是否维护时间戳 默认维护 //$timestamps=falst 不维护 public $timestamps=true; //维护时间的时候保存时间戳 protected function getDateFormat() { return time(); // TODO: Change the autogenerated stub } //查询的时候返回时间戳 protected function asDateTime($value) { // return parent::asDateTime($value); // TODO: Change the autogenerated stub return $value; } }
ORM 查詢
//all() 查询所有数据 查询数据为集合 $students=Student::all(); dd($students); //根据主键查询 查询一条数据 $student=Student::find(2); dd($student); //findOrFail() 根据主键查询 如果没有查到 报错 $student=Student::findOrFail(2); dd($student); //get() 查询所有数据 $students=Student::get(); dd($students); //first() 查询第一条 $students=Student::where('id','>','1')->orderBy('age','desc')->first(); dd($students); //chunk() 每次查询一定条数 Student::chunk(2,function($students){ var_dump($students); }); //聚合函数 //count() 条数 $num = Student::count(); var_dump($num); //max() 查询最大值 $max=Student::where('id','>',1)->max('age'); var_dump($max);
//新增 //save() $student=new Student(); $student->name='vbb'; $student->age=34; $rs=$student->save(); dd($rs); //create() $rs=Student::create([ 'name'=>'momo', 'age'=>23 ]); dd($rs); //firstOrCreate()以属性查询数据 如果没有 新建数据 $rs=Student::firstOrCreate( ['name'=>'vbb4'] ); //firstOrNew() 以属性查询数据 如果没有 新建实例 如果想保存调用save() $rs=Student::firstOrNew( ['name'=>'vbb4'] ); $bool=$rs->save(); dd($rs);
//更新 //通过模型更新数据 $student=Student::find(2); $student->age=2; $bool=$student->save(); var_dump($bool); //批量更新 $num=Student::where('id','>',5)->update( ['age'=>41] ); var_dump($num);
//删除 //通过模型删除 $student=Student::find(2); $bool=$student->delete(); var_dump($bool); //通过主键删除 $num=Student::destroy(3,4,5); $num=Student::destroy([3,4,5]); var_dump($num); //删除指定条件 $num=Student::where('id','>',7)->delete(); var_dump($num);
以上是Laravel資料庫操作Eloquent ORM方法小結(程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!