ホームページ > バックエンド開発 > PHPチュートリアル > Laravelデータベース操作概要 Eloquent ORM手法(コード例)

Laravelデータベース操作概要 Eloquent ORM手法(コード例)

不言
リリース: 2023-04-04 19:48:01
転載
2878 人が閲覧しました

この記事は、Laravel データベース操作のための Eloquent ORM メソッド (コード例) をまとめたものです。一定の参考価値があります。必要な友人は参考にしてください。お役に立てれば幸いです。

laravel は通常、Eloquent ORM を使用してデータベースを操作します

モデルを構築します

<?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 クエリ


//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);
ログイン後にコピー

#追加


//新增
        //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);
ログイン後にコピー

更新


//更新
        //通过模型更新数据
        $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);
ログイン後にコピー

削除


##
//删除
        //通过模型删除
        $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);
ログイン後にコピー

以上がLaravelデータベース操作概要 Eloquent ORM手法(コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:cnblogs.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート