下面由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 class="brush:php;toolbar:false">"; print_r($queries); echo PHP_EOL; print_r($ordeList); echo "
“;
直接上圖:
取出部分數據:
????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 class="brush:php;toolbar:false">"; print_r($ordeList); echo "
“;????????exit; ????}
不存在就創建,存在就更新:
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子句
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END