亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

Laravel框架數據庫CURD操作、連貫操作總結

2024-05-04 23:25:32
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Laravel框架數據庫CURD操作、連貫操作、鏈式操作總結,本文包含大量數據庫操作常用方法,需要的朋友可以參考下
 
 

一、Selects

檢索表中的所有行

復制代碼代碼如下:

$users = DB::table('users')->get();
foreach ($users as $user)
{
var_dump($user->name);
}

 

從表檢索單個行

復制代碼代碼如下:

$user = DB::table('users')->where('name', 'John')->first();
var_dump($user->name);

檢索單個列的行
復制代碼代碼如下:

$name = DB::table('users')->where('name', 'John')->pluck('name');

檢索一個列值列表
復制代碼代碼如下:

$roles = DB::table('roles')->lists('title');

該方法將返回一個數組標題的作用。你也可以指定一個自定義的鍵列返回的數組
復制代碼代碼如下:

$roles = DB::table('roles')->lists('title', 'name');

指定一個Select子句
復制代碼代碼如下:

$users = DB::table('users')->select('name', 'email')->get();
 $users = DB::table('users')->distinct()->get();
 $users = DB::table('users')->select('name as user_name')->get();

 

Select子句添加到一個現有的查詢$query = DB::table('users')->select('name');

復制代碼代碼如下:

$users = $query->addSelect('age')->get();

 

where

復制代碼代碼如下:

$users = DB::table('users')->where('votes', '>', 100)->get();

 

OR

復制代碼代碼如下:

$users = DB::table('users')->where('votes', '>', 100)->orWhere('name', 'John')->get();

 

Where Between

 

復制代碼代碼如下:

$users = DB::table('users')->whereBetween('votes', array(1, 100))->get();

 

Where Not Between

 

復制代碼代碼如下:

$users = DB::table('users')->whereNotBetween('votes', array(1, 100))->get();

 

Where In With An Array

 

復制代碼代碼如下:

$users = DB::table('users')->whereIn('id', array(1, 2, 3))->get();
$users = DB::table('users')->whereNotIn('id', array(1, 2, 3))->get();

 

Using Where Null To Find Records With Unset Values

復制代碼代碼如下:

$users = DB::table('users')->whereNull('updated_at')->get();

 

Order By, Group By, And Having

復制代碼代碼如下:

$users = DB::table('users')->orderBy('name', 'desc')->groupBy('count')->having('count', '>', 100)->get();

 

Offset & Limit

 

復制代碼代碼如下:

$users = DB::table('users')->skip(10)->take(5)->get();

 

二、連接

Joins

查詢構建器也可以用來編寫連接語句??纯聪旅娴睦?

Basic Join Statement

 

復制代碼代碼如下:

DB::table('users')
  ->join('contacts', 'users.id', '=', 'contacts.user_id')
  ->join('orders', 'users.id', '=', 'orders.user_id')
  ->select('users.id', 'contacts.phone', 'orders.price')
  ->get();

 

左連接語句

 

復制代碼代碼如下:

DB::table('users')
  ->leftJoin('posts', 'users.id', '=', 'posts.user_id')
  ->get();
  DB::table('users')
  ->join('contacts', function($join)
  {
  $join->on('users.id', '=', 'contacts.user_id')->orOn(...);
  })
  ->get();
  DB::table('users')
  ->join('contacts', function($join)
  {
  $join->on('users.id', '=', 'contacts.user_id')
  ->where('contacts.user_id', '>', 5);
  })
  ->get();

 

三、分組

  有時候,您可能需要創建更高級的where子句,如“存在”或嵌套參數分組。Laravel query builder可以處理這些:

 

復制代碼代碼如下:

DB::table('users')
->where('name', '=', 'John')
->orWhere(function($query)
{
$query->where('votes', '>', 100)
->where('title', '<>', 'Admin');
})
->get();

  上面的查詢將產生以下SQL:
復制代碼代碼如下:

  select * from users where name = 'John' or (votes > 100 and title 
<> 'Admin')
  Exists Statements
  DB::table('users')
  ->whereExists(function($query)
  {
  $query->select(DB::raw(1))
  ->from('orders')
  ->whereRaw('orders.user_id = users.id');
  })
  ->get();

 

上面的查詢將產生以下SQL:

復制代碼代碼如下:

select * from userswhere exists (
select 1 from orders where orders.user_id = users.id
)

 

四、聚合

查詢構建器還提供了各種聚合方法,如統計,馬克斯,min,avg和總和。

Using Aggregate Methods

復制代碼代碼如下:

$users = DB::table('users')->count();
$price = DB::table('orders')->max('price');
$price = DB::table('orders')->min('price');
$price = DB::table('orders')->avg('price');
$total = DB::table('users')->sum('votes');

 

Raw Expressions

有時您可能需要使用一個原始表達式的查詢。這些表達式將注入的查詢字符串,所以小心不要創建任何SQL注入點!創建一個原始表達式,可以使用DB:rawmethod:

Using A Raw Expression

 

復制代碼代碼如下:

$users = DB::table('users')
->select(DB::raw('count(*) as user_count, status'))
->where('status', '<>', 1)
->groupBy('status')
->get();

 

遞增或遞減一個列的值

復制代碼代碼如下:

DB::table('users')->increment('votes');
DB::table('users')->increment('votes', 5);
DB::table('users')->decrement('votes');
DB::table('users')->decrement('votes', 5);

 

您還可以指定額外的列更新:

復制代碼代碼如下:

  DB::table('users')->increment('votes', 1, array('name' => 'John'));

 

Inserts

將記錄插入表

 

復制代碼代碼如下:

DB::table('users')->insert(
array('email' => 'john@example.com', 'votes' => 0)
);

 

將記錄插入表自動增加的ID

如果表,有一個自動遞增的id字段使用insertGetId插入一個記錄和檢索id:

復制代碼代碼如下:

$id = DB::table('users')->insertGetId(
array('email' => 'john@example.com', 'votes' => 0)
);

 

注意:當使用PostgreSQL insertGetId方法預計,自增列被命名為“id”。

多個記錄插入到表中

復制代碼代碼如下:

DB::table('users')->insert(array(
array('email' => 'taylor@example.com', 'votes' => 0),
array('email' => 'dayle@example.com', 'votes' => 0),
));

 

四、Updates

更新一個表中的記錄

復制代碼代碼如下:

DB::table('users')
->where('id', 1)
->update(array('votes' => 1));

 

五、 Deletes

刪除表中的記錄

復制代碼代碼如下:

DB::table('users')->where('votes', '<', 100)->delete();

 

刪除表中的所有記錄

復制代碼代碼如下:

DB::table('users')->delete();

刪除一個表
復制代碼代碼如下:

DB::table('users')->truncate();

 

六、Unions

查詢構建器還提供了一種快速的方法來“聯盟”兩個查詢:

 

復制代碼代碼如下:

  $first = DB::table('users')->whereNull('first_name');
  $users = 
DB::table('users')->whereNull('last_name')->union($first)->get();

 

  unionAll方法也可以,有相同的方法簽名。

  Pessimistic Locking

  查詢構建器包括一些“悲觀鎖定”功能來幫助你做你的SELECT語句?! ∵\行SELECT語句“共享鎖”,你可以使用sharedLock方法查詢:

復制代碼代碼如下:

DB::table('users')->where('votes', '>', 
100)->sharedLock()->get();

更新“鎖”在一個SELECT語句,您可以使用lockForUpdate方法查詢:
復制代碼代碼如下:

 DB::table('users')->where('votes', '>', 100)->lockForUpdate()->get();

 

七、緩存查詢

  你可以輕松地緩存查詢的結果使用記憶法:

復制代碼代碼如下:

$users = DB::table('users')->remember(10)->get();

  在本例中,查詢的結果將為十分鐘被緩存。查詢結果緩存時,不會對數據庫運行,結果將從默認的緩存加載驅動程序指定您的應用程序?! ∪绻褂玫氖侵С志彺娴乃緳C,還可以添加標簽來緩存:
復制代碼代碼如下:

$users = DB::table('users')->cacheTags(array('people', 'authors'))->remember(10)->get();

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
上原亚衣av一区二区三区| 欧美国产乱视频| 精品日本高清在线播放| 国产精品国内视频| 亚洲电影免费观看高清完整版在线| 亚洲视频999| 国产91精品黑色丝袜高跟鞋| 亚洲xxxxx性| 成人美女免费网站视频| 欧美日韩中文在线观看| 亚洲v日韩v综合v精品v| 亚洲精品永久免费精品| 欧美精品激情在线观看| 亚洲国产高潮在线观看| 亚洲精品97久久| 国产一区二区久久精品| www.亚洲男人天堂| 亚洲精品乱码久久久久久按摩观| 久久久久久久久久亚洲| 91在线观看免费观看| 欧美日韩午夜激情| 欧美激情va永久在线播放| 国产亚洲精品一区二区| 一区二区三区精品99久久| 成人欧美一区二区三区黑人孕妇| 欧美亚洲视频在线看网址| 亚洲四色影视在线观看| 2020久久国产精品| 欧美风情在线观看| 国产精品影片在线观看| 国产色综合天天综合网| 亚洲综合在线播放| 亚洲伊人第一页| 亚洲黄色在线观看| 国产亚洲欧洲高清一区| 亚洲欧美中文日韩在线v日本| 欧美性生交大片免费| 国产精品夫妻激情| 亚洲国产精品一区二区三区| 影音先锋欧美精品| 久久av.com| 超碰97人人做人人爱少妇| 亚洲精品国产欧美| 98午夜经典影视| 欧美亚洲视频在线观看| 日韩福利伦理影院免费| 欧美贵妇videos办公室| 国产日产欧美精品| 欧美肥臀大乳一区二区免费视频| 亚洲欧美国产精品va在线观看| 亚洲qvod图片区电影| 一区二区三区动漫| 2019国产精品自在线拍国产不卡| 中文字幕日韩视频| 亚洲理论片在线观看| 久久久免费观看| 亚洲精品成人av| 亚洲精品wwwww| 国产一区二区三区视频| 亚洲女人天堂成人av在线| 亚洲娇小xxxx欧美娇小| 欧美第一淫aaasss性| 成人黄色免费网站在线观看| 欧美肥婆姓交大片| 97超碰蝌蚪网人人做人人爽| 性夜试看影院91社区| 少妇av一区二区三区| 欧美日韩在线视频首页| 国产成人精品电影久久久| 欧美视频13p| 亚洲性xxxx| 91久久精品国产91久久性色| 另类少妇人与禽zozz0性伦| 亚洲午夜精品久久久久久性色| 欧美做爰性生交视频| 久久精品国产一区| 日韩福利伦理影院免费| 91久久久久久久久久久久久| 日韩欧美在线国产| 成人444kkkk在线观看| 国外成人在线播放| 97精品国产97久久久久久春色| 午夜精品福利电影| 9.1国产丝袜在线观看| 欧美日韩在线免费| 97色在线观看| 国内精品久久久久伊人av| 亚洲一区二区自拍| 色偷偷偷亚洲综合网另类| 国产美女高潮久久白浆| 亚洲欧美日韩第一区| 91色琪琪电影亚洲精品久久| 中文字幕在线看视频国产欧美在线看完整| 亚洲欧美日韩中文在线| 欧美日产国产成人免费图片| 国产成人亚洲精品| 亚洲国产小视频在线观看| 亚洲香蕉伊综合在人在线视看| 91精品国产九九九久久久亚洲| 综合网中文字幕| 亚洲一区美女视频在线观看免费| 亚洲精品视频中文字幕| 韩国v欧美v日本v亚洲| 国产视频久久久| 国产精品91在线观看| 精品国产依人香蕉在线精品| 成年无码av片在线| 国产97免费视| 亚洲福利视频网站| 国产精品久久久久7777婷婷| 亚洲色图欧美制服丝袜另类第一页| 国产精品视频自在线| 最近的2019中文字幕免费一页| 奇米4444一区二区三区| 精品国产乱码久久久久久婷婷| 国产精品91在线观看| 国产亚洲欧洲高清一区| 亚洲乱码国产乱码精品精| 91精品国产91久久久久| 中文字幕国产日韩| 欧美xxxx18国产| 欧美日韩国产激情| 亚洲自拍高清视频网站| 色偷偷噜噜噜亚洲男人的天堂| 大桥未久av一区二区三区| 国产精品黄页免费高清在线观看| 久久综合久中文字幕青草| 日本成熟性欧美| 亚洲精品久久久久久久久久久| 色中色综合影院手机版在线观看| 色天天综合狠狠色| 欧美另类老肥妇| 欧洲亚洲妇女av| 国产欧美在线视频| 亚洲理论在线a中文字幕| 操人视频在线观看欧美| 国外色69视频在线观看| 亚洲国产日韩欧美综合久久| 久热在线中文字幕色999舞| 亚洲欧美中文另类| 一区二区三区视频免费在线观看| 国产精品综合网站| 久久精品国产欧美亚洲人人爽| 色系列之999| 国产精品欧美一区二区三区奶水| 97在线看免费观看视频在线观看| 亚洲精品日韩在线| 久热在线中文字幕色999舞| 成人性教育视频在线观看| 成人黄色中文字幕| 久热精品视频在线| 日韩中文字幕久久| 国产精品吹潮在线观看| 国产成人福利网站| 午夜精品一区二区三区av| 亚洲japanese制服美女| 久久久国产精品亚洲一区| 国产日韩欧美在线观看| 欧美在线激情视频| 91夜夜未满十八勿入爽爽影院| 在线观看精品国产视频| 97成人在线视频| 欧美极品少妇xxxxx| 欧美另类老女人|