关于Laravel ORM操作的详解

2022-05-15 0 614

下面由laravel教程栏目给大家介绍详解Laravel ORM操作,希望对需要的朋友有所帮助!

1、laravel获取最后一条sql语句和传入的值:

    public function getOrderDetail($orderId){        \\DB::connection()->enableQueryLog(); // 开启查询日志          $ordeList = OrderItem::where('order_id',$orderId)            ->get()->toArray();        $queries = \\DB::getQueryLog(); // 获取查询日志          echo "<pre>";            print_r($queries);            echo PHP_EOL;            print_r($ordeList);        echo "</pre>";

直接上图:

关于Laravel ORM操作的详解

取出部分数据:

    public function getOrderDetail($uid,$orderId){        $user = $this->check_user($uid);        $columns = ['id', 'order_id', 'item_id', 'item_name', 'item_price', 'original_price', 'buy_num', 'real_num', 'cancel_num', 'status', 'create_time'];        $ordeList = OrderItem::where('order_id',$orderId)            -> orderBy('create_time','desc')            ->get($columns)->toArray();        echo "<pre>";            print_r($ordeList);        echo "</pre>";        exit;    }

关于Laravel ORM操作的详解

不存在就创建,存在就更新:

Model::updateOrCreate(   ['primary_key' => 8],   ['field' => 'value', 'another_field' => 'another value']);

Laravel子查询,多条件判断:

    public function getCourseProgress($uid,$levelId=0,$lessonId=0,$type=0,$page=0)    {        //检测用户合法性        $user = $this->check_user($uid);        //当前页数        $page = $page>0?$page:0;        //每页显示数量        $perPage = config('bcc.per_page');        //显示字段        $columns = ['*'];        #课程学习进度信息        $result = LessonProgress::where('customer_id',$uid)            ->where(function($query) use ($type){                if($type) $query->where('source_type',$type);            })            ->where(function($query) use ($levelId,$lessonId){                if($levelId && $lessonId) {                    $query->where(['level_id'=>$levelId,'lesson_id'=>$lessonId]);                }elseif($levelId){                    $query->where('level_id', $levelId);                }            })->get();            //->paginate($perPage,$columns,$pageName='',$page);        if($result->isEmpty()) return $this->responseSuccess([],'No relevant information',20000);        return $this->responseCollection($result,new CourseProgressTransformer);    }

Laravel运行复杂的原生语句:

    // 声母韵母分两类    $data=Pronounce::selectRaw('group_concat(`letter`) as letters')    ->groupBy('pronounce_type')    ->get()    ->toArray();

selectRaw里面可以直接写sql子句

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

【声明:根据2013年1月30日《计算机软件保护条例》2次修订第17条规定: 为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存 储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬! 鉴于此,也希望大家按此说明研究软件!】
本站所有源码尽量保证原汁原味,如有特殊情况会作出声明及标注,网站资源不做任何二次加密(原版加密除外,不影响程序使用的不会做解密处理),方便您更好的学习参考。 在您的能力范围内,为了大环境的良性发展,请尽可能的选择正版资源。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

即刻码站__国内靠谱的站长资源下载平台 php教程 关于Laravel ORM操作的详解 https://www.jike1995.com/36679.html

常见问题
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用
查看详情
  • 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度
查看详情

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务