您好,登錄后才能下訂單哦!
這篇文章主要介紹了laravel中DB::raw怎么用的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇laravel中DB::raw怎么用文章都會有所收獲,下面我們一起來看看吧。
在laravel中,“DB::raw()”方法用于復雜的sql查詢,該方法能夠將查詢到的結果集當成一個臨時表,然后使用laravel的查詢構造器語法進行分頁處理,語法為“DB::raw('函數或者字段');”。
本文操作環境:Windows10系統、Laravel6版、Dell G3電腦。
在項目中遇到一個問題,復雜的sql查詢,用laravel的查詢構造器,非常的不方便,各種查詢條件拼接一長串拼得腦瓜疼;然后想使用原生的sql語句來查詢,然后又使用不了laravel的paginate()分頁方法;這時候DB::raw()方法就派上用場了!語法的原理就是把你查詢的結果集當成一個臨時表,然后在使用laravel的查詢構造器語法進行分頁處理;
例1:
$users = DB::table('users') ->select(DB::raw('count(*) as user_count, status')) ->where('status', '<>', 1) ->groupBy('status') ->get();
例2:
DB::table('someTable') ->selectRaw('count(*), min(some_field) as someMin, max(another_field) as someMax') ->get();
例3:
DB::table('someTable')->select( array( DB::raw('min(some_field) as someMin'), DB::raw('max(another_field) as someMax'), DB::raw('COUNT(*) as `count`') ) )->get()
例4:
SELECT (CASE WHEN (gender = 1) THEN 'M' ELSE 'F' END) AS gender_text FROM users; $users = DB::table('users') ->select(DB::raw(" name, surname, (CASE WHEN (gender = 1) THEN 'M' ELSE 'F' END) as gender_text") );
關于“laravel中DB::raw怎么用”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“laravel中DB::raw怎么用”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。