Laravel 數(shù)據(jù)庫操作 Eloquent ORM

建立模型

<?php
namespace App;

use Illuminate\Database\Eloquent\Model;

class Student extends Model
{
    //指定表名 默認(rèn) 模型名的復(fù)數(shù)
    protected $table='student';

    //指定主鍵 默認(rèn)主鍵 為ID
    protected  $primaryKey='id';

    //指定允許批量賦值的字段
    protected $fillable=['name','age'];
    //指定不允許批量賦值的字段
    protected $guarded=[];

    //是否維護(hù)時間戳  默認(rèn)維護(hù)
    //$timestamps=falst 不維護(hù)
    public $timestamps=true;

    //維護(hù)時間的時候保存時間戳
    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() 查詢所有數(shù)據(jù)  查詢數(shù)據(jù)為集合
        $students=Student::all();
        dd($students);

        //根據(jù)主鍵查詢 查詢一條數(shù)據(jù)
        $student=Student::find(2);
        dd($student);

        //findOrFail() 根據(jù)主鍵查詢 如果沒有查到 報錯
        $student=Student::findOrFail(2);
        dd($student);

        //get() 查詢所有數(shù)據(jù)
        $students=Student::get();
        dd($students);

        //first() 查詢第一條
        $students=Student::where('id','>','1')->orderBy('age','desc')->first();
        dd($students);

        //chunk() 每次查詢一定條數(shù) 
        Student::chunk(2,function($students){
            var_dump($students);
        });

        //聚合函數(shù)
        //count() 條數(shù)
        $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()以屬性查詢數(shù)據(jù) 如果沒有 新建數(shù)據(jù)
        $rs=Student::firstOrCreate(
            ['name'=>'vbb4']
        );

        //firstOrNew() 以屬性查詢數(shù)據(jù) 如果沒有 新建實例 如果想保存調(diào)用save()
        $rs=Student::firstOrNew(
            ['name'=>'vbb4']
        );
        $bool=$rs->save();

        dd($rs);

更新

//更新
        //通過模型更新數(shù)據(jù)
        $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);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容