四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

PHP開發(fā)框架Laravel數(shù)據(jù)庫操作方法總結(jié)

一、讀/寫連接

有時您可能希望使用一個SELECT語句的數(shù)據(jù)庫連接,,另一個用于插入、更新和刪除語句。Laravel使這微風,將始終使用正確的連接是否使用原始查詢,查詢生成器或雄辯的ORM。

如何讀/寫連接應(yīng)該配置,讓我們看看這個例子:
復(fù)制代碼 代碼如下:
'mysql' => array('read' => array('host' => '192.168.1.1'),'write' => array('host' => '196.168.1.2'),'driver' => 'mysql','database' =>'database','username' => 'root','password' => '','charset' => 'utf8','collation' => 'utf8_unicode_ci','prefix' => '')

注意,兩個鍵添加到配置陣列:讀和寫。這兩個鍵有數(shù)組值包含一個關(guān)鍵:主機。其余的讀寫數(shù)據(jù)庫選項從主mysql連接將合并后的數(shù)組。所以,我們只需要將物品放入讀取和寫入數(shù)組如果我們希望覆蓋主要數(shù)組中的值。所以,在這種情況下,192.168.1.1將被用作“讀”連接,while192.168.1.2將被用作“寫”連接。數(shù)據(jù)庫憑證、前綴、字符集和所有其他選項在主mysql數(shù)組將跨兩個共享連接。

二、運行查詢

一旦你已經(jīng)配置了數(shù)據(jù)庫連接,你可以使用DB運行查詢類。

運行一個Select查詢

復(fù)制代碼 代碼如下:
$results = DB::select('select * from users where id = ?', array(1));

結(jié)果的選擇方法總是返回一個數(shù)組。

運行一個Insert語句

復(fù)制代碼 代碼如下:
  DB::insert('insert into users (id, name) values (?, ?)', array(1, 'Dayle'));

運行一個更新語句

復(fù)制代碼 代碼如下:
  DB::update('update users set votes = 100 where name = ?', array('John'));

運行一個Delete語句

復(fù)制代碼 代碼如下:
DB::delete('delete from users');

注意:update和delete語句返回的行數(shù)的影響操作。

運行一個通用聲明

復(fù)制代碼 代碼如下:
DB::statement('drop table users');

查詢事件監(jiān)聽

你可以查詢事件監(jiān)聽使用DB::聽方法:

復(fù)制代碼 代碼如下:
DB::listen(function($sql, $bindings, $time){ //});

三、數(shù)據(jù)庫事務(wù)

  運行在一個數(shù)據(jù)庫事務(wù)的一組操作,您可以使用事務(wù)方法:
復(fù)制代碼 代碼如下:
 DB::transaction(function(){ DB::table('users')->update(array('votes'
=> 1)); DB::table('posts')->delete();});

注意:在事務(wù)拋出的任何異常關(guān)閉將導(dǎo)致自動事務(wù)將回滾

有時你可能需要開始一個事務(wù):

復(fù)制代碼 代碼如下:
DB::beginTransaction();

你可以通過回滾事務(wù)回滾方法:

復(fù)制代碼 代碼如下:
DB::rollback();

最后,您可以通過提交方法:提交一個事務(wù)

復(fù)制代碼 代碼如下:
DB::commit();

四、訪問連接

當使用多個連接,你可以訪問它們通過DB::連接方法:

復(fù)制代碼 代碼如下:
$users = DB::connection('foo')->select(...);

你也可以訪問原始的、潛在的PDO實例:
復(fù)制代碼 代碼如下:
$pdo = DB::connection()->getPdo();

有時你可能需要重新連接到一個給定的數(shù)據(jù)庫:
復(fù)制代碼 代碼如下:
DB::reconnect('foo');

如果你需要斷開從給定的數(shù)據(jù)庫將超過底層PDO實例'smax_connections限制,使用斷開連接方法:
復(fù)制代碼 代碼如下:
DB::disconnect('foo');

五、查詢?nèi)罩?/strong>

默認情況下,Laravel日志保存在內(nèi)存的所有查詢運行當前的請求。然而,在某些情況下,例如當插入的行數(shù),這可能會導(dǎo)致應(yīng)用程序使用多余的內(nèi)存。禁用日志,你可以使用disableQueryLog方法:

復(fù)制代碼 代碼如下:
DB::connection()->disableQueryLog();

o得到一組執(zhí)行的查詢,您可以使用getQueryLog方法:
復(fù)制代碼 代碼如下:
$queries = DB::getQueryLog();

php技術(shù)PHP開發(fā)框架Laravel數(shù)據(jù)庫操作方法總結(jié),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 洛兵| 高清影视图库| 漂流者| 军犬麦克斯| 美少女尿裤子| 老师好 演员表| 羞羞的影评| 女生宿舍2在线看| 格雷的五十道阴影| 视频污污| 苹果恋爱多| 来去四字成语| 胸曝光| 无内裤全透明柔术视频| 豆包简历个人资料| 美国电影waseas| 秀人网门户网免费| 飞龙猛将演员表| 我们的祖国是花园简谱| 厨神驾到全集免费观看完整版| 笑口常开图片| 《伦敦黑帮》| 范瑞君| 三上悠亚在线免费观看| 原神黄色漫画| 孔丽娜个人资料简介| 桂林山水甲天下是几年级的课文| 韩国女车模| 徐一航的电视剧叫什么| 中山电视台| 梦桐| 九九乘法表图片| 谭咏麟个人资料简介| 白培中| 尤克里里谱| 爱秀直播| 刘洋演员| 高等学校毕业生登记表自我鉴定怎么写| 群星闪耀时全部演员表| 一人比划一人猜100个| 三年片在线观看电影在线观看大全|