当前位置:Gxlcms > PHP教程 > ORM增删改查实例

ORM增删改查实例

时间:2021-07-01 10:21:17 帮助过:18人阅读

这篇文章介绍的内容是关于ORM 增删改查实例 ,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

<?php
namespace App\Http\Controllers\Admin;use App\Http\Controllers\Controller;
use App\Models\Admin\Member;use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;class MemberController extends Controller{
    public function index()
    {
        //查询所有记录
        //$result = Member::all();

        //查询一条记录
        $result = Member::find(8);        echo $result->created_at;        //查询多条记录
        //$result = Member::find([1,2,3]);

        //找不到时抛出异常(404页面)
        //$result = Member::findOrFail(55);

        //查询所有记录,where条件
        //$result = Member::where('id','>',1)->get();

        //分块查询
        /*$result = Member::where('id','>',1)->chunk(2,function($res){
            var_dump($res);
            return false;
        });*/
       // dd($result);

    }    //插入
    public function add(){
        //使用模型创建
        /*$result = new Member();
        $result -> username = '1';
        $result -> password = '2';
        $result -> email = '3';
        $result ->save(); // 新增保存*/

        //使用create创建,需设置 $fillable
        //$result = Member::create(['username'=>'11','password'=>'222','email'=>'333']);

        //其他创建方法

        //firstOrCreate 使用给定的列/值来查找数据库。如果在数据库找不到该模型,则会从第一个参数的属性乃至第二个参数的属性中创建一条记录插入到数据库
        //使用 username 查找用户,不存在则创建,存在的话也不报错
        /*$result = Member::firstOrCreate(
            ['username'=>'1111'],['password'=>'222'],['email'=>'333']
        );*/

        //使用username 查找用户,不存在则创建实例,保存的话需要save
        /*$result = Member::firstOrNew(
            ['username'=>'111111'],['password'=>'222'],['email'=>'333']
        );
        $result->save();*/

        //updateOrCreate 更新现有模型或在不存在的情况下则创建新的模型,不需要save
        /*$result = Member::updateOrCreate(
            ['username'=>'11111112'],
            ['password'=>'2222','email'=>'22222']

        );*/

        //dd($result);
    }    //修改
    public function edit(){
        //通过模型更新数据
        /*$result = Member::find(14);
        $result -> password = '3333333';
        $result -> save();*/

        //批量更新
        /*$result = Member::where('id','>','13')->update(
            ['password'=> '11']
        );*/

        //dd($result);
    }    //删除
    public function delete(){
        //通过模型删除,返回布尔值
        /*$result = Member::find(14);
        $result -> delete();*/

        //通过主键删除,返回影响的行数
        //$result = Member::destroy(13);
        //删除多个
        //Member::destroy([1, 2, 3]);
        //Member::destroy(1, 2, 3);

        //通过查询删除,返回影响的行数
        //$result = Member::where('id','>',11)->delete();

        //软删除
        /*$result = Member::find(8);
        $result -> delete();*/


        dd($result);
    }
}
<?php
namespace App\Models\Admin;use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB;
use Illuminate\Database\Eloquent\SoftDeletes; 
//开启模型的软删除功能
class Member extends Model{

    protected $table      = 'member'; //与模型关联的数据表
    //指定主键
    //如果使用非递增或者非数字的主键,则必须在模型上设置 public $incrementing = false
    //如果主键不是一个整数,你应该在模型上设置 protected $keyType = string
    protected $primaryKey = 'id';    public    $timestamps = true;     //是否自动维护时间戳 created_at updated_at
    protected $dateFormat = 'U';       //模型的日期字段的存储格式
    //const CREATED_AT = 'creation_date';//自定义用于存储时间戳的字段名
    //const UPDATED_AT = 'last_update';  //自定义用于存储时间戳的字段名

    protected $fillable = ['username','password']; //批量赋值 ,create 新增数据的时候需要设置 ,$guarded 为黑名单,相反

    use SoftDeletes;//使用软删除功能
    protected $dates = ['deleted_at']; //软删除字段}

相关推荐:

Django基于ORM操作数据库的方法详解

以上就是ORM 增删改查实例的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行