Heim > Backend-Entwicklung > PHP-Tutorial > Zusammenfassung der Laravel-Datenbankoperation Eloquent ORM-Methode (Codebeispiel)

Zusammenfassung der Laravel-Datenbankoperation Eloquent ORM-Methode (Codebeispiel)

不言
Freigeben: 2023-04-04 19:48:01
nach vorne
2877 Leute haben es durchsucht

Dieser Artikel bietet Ihnen eine Zusammenfassung der Eloquent ORM-Methode für den Betrieb der Laravel-Datenbank. Ich hoffe, dass er für Sie hilfreich ist.

Laravel verwendet im Allgemeinen sein Eloquent ORM, um die Datenbank zu betreiben

Erstellen Sie ein Modell

<?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;
    }
}
Nach dem Login kopieren

ORM-Abfrage

//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);
Nach dem Login kopieren

Hinzufügen

//新增
        //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);
Nach dem Login kopieren

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);
Nach dem Login kopieren

löschen

//删除
        //通过模型删除
        $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);
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonZusammenfassung der Laravel-Datenbankoperation Eloquent ORM-Methode (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage