Home >Backend Development >PHP Tutorial >Summary of Laravel database operation Eloquent ORM method (code example)

Summary of Laravel database operation Eloquent ORM method (code example)

不言
不言forward
2019-01-19 10:12:432880browse

This article brings you a summary of the Eloquent ORM method for Laravel database operation (code examples). It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.

laravel generally uses its Eloquent ORM to operate the database

Build the model

<?php
namespace App;

use Illuminate\Database\Eloquent\Model;

class Student extends Model
{
    //指定表名 默认 模型名的复数
    protected $table=&#39;student&#39;;

    //指定主键 默认主键 为ID
    protected  $primaryKey=&#39;id&#39;;

    //指定允许批量赋值的字段
    protected $fillable=[&#39;name&#39;,&#39;age&#39;];
    //指定不允许批量赋值的字段
    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 Query

//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(&#39;id&#39;,&#39;>&#39;,&#39;1&#39;)->orderBy(&#39;age&#39;,&#39;desc&#39;)->first();
        dd($students);

        //chunk() 每次查询一定条数 
        Student::chunk(2,function($students){
            var_dump($students);
        });

        //聚合函数
        //count() 条数
        $num = Student::count();
        var_dump($num);

        //max() 查询最大值
        $max=Student::where(&#39;id&#39;,&#39;>&#39;,1)->max(&#39;age&#39;);
        var_dump($max);

##Add


//新增
        //save()
        $student=new Student();
        $student->name=&#39;vbb&#39;;
        $student->age=34;
        $rs=$student->save();
        dd($rs);

        //create()
        $rs=Student::create([
            &#39;name&#39;=>&#39;momo&#39;,
            &#39;age&#39;=>23
        ]);
        dd($rs);

        //firstOrCreate()以属性查询数据 如果没有 新建数据
        $rs=Student::firstOrCreate(
            [&#39;name&#39;=>&#39;vbb4&#39;]
        );

        //firstOrNew() 以属性查询数据 如果没有 新建实例 如果想保存调用save()
        $rs=Student::firstOrNew(
            [&#39;name&#39;=>&#39;vbb4&#39;]
        );
        $bool=$rs->save();

        dd($rs);

Update


//更新
        //通过模型更新数据
        $student=Student::find(2);
        $student->age=2;
        $bool=$student->save();
        var_dump($bool);

        //批量更新
        $num=Student::where(&#39;id&#39;,&#39;>&#39;,5)->update(
            [&#39;age&#39;=>41]
        );
        var_dump($num);

Delete


##
//删除
        //通过模型删除
        $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(&#39;id&#39;,&#39;>&#39;,7)->delete();
        var_dump($num);

The above is the detailed content of Summary of Laravel database operation Eloquent ORM method (code example). For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:cnblogs.com. If there is any infringement, please contact admin@php.cn delete