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)

不言
Release: 2023-04-04 19:48:01
forward
2878 people have browsed it

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;
    }
}
Copy after login

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);
Copy after login

##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);
Copy after login

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);
Copy after login

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);
Copy after login

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!

Related labels:
source:cnblogs.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template