国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 php教程 PHP開發(fā) Laravel框架數(shù)據(jù)庫CURD操作、連貫操作使用方法

Laravel框架數(shù)據(jù)庫CURD操作、連貫操作使用方法

Nov 22, 2016 pm 12:40 PM
laravel

Laravel框架數(shù)據(jù)庫CURD操作、連貫操作使用方法
Laravel框架數(shù)據(jù)庫CURD操作、連貫如何來操作了這個操作性是非常的方便簡單了我們在這里來為各位介紹一篇相關(guān)的教程,具體的細節(jié)步驟如下文介紹。
Laravel是一套簡潔、優(yōu)雅的PHP Web開發(fā)框架(PHP Web Framework)。它可以讓你從面條一樣雜亂的代碼中解脫出來;它可以幫你構(gòu)建一個完美的網(wǎng)絡(luò)APP,而且每行代碼都可以簡潔、富于表達力。
一、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');
該方法將返回一個數(shù)組標題的作用。你也可以指定一個自定義的鍵列返回的數(shù)組
$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子句添加到一個現(xiàn)有的查詢
$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
查詢構(gòu)建器也可以用來編寫連接語句。看看下面的例子:
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();
?
三、分組
有時候,您可能需要創(chuàng)建更高級的where子句,如“存在”或嵌套參數(shù)分組。Laravel query builder可以處理這些:
DB::table('users')
->where('name', '=', 'John')
->orWhere(function($query)
{
$query->where('votes', '>', 100)
->where('title', '<>', 'Admin');
})
->get();
?
上面的查詢將產(chǎn)生以下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();
上面的查詢將產(chǎn)生以下SQL:
select * from userswhere exists (
select 1 from orders where orders.user_id = users.id
)
?
四、聚合
查詢構(gòu)建器還提供了各種聚合方法,如統(tǒng)計,馬克斯,min,avg和總和。
$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
有時您可能需要使用一個原始表達式的查詢。這些表達式將注入的查詢字符串,所以小心不要創(chuàng)建任何SQL注入點!創(chuàng)建一個原始表達式,可以使用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(&#39;users&#39;)->insertGetId(
array(&#39;email&#39; => &#39;john@example.com&#39;, &#39;votes&#39; => 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
查詢構(gòu)建器還提供了一種快速的方法來“聯(lián)盟”兩個查詢:
?
代碼如下:
$first = DB::table('users')->whereNull('first_name');
$users =
DB::table('users')->whereNull('last_name')->union($first)->get();
?
unionAll方法也可以,有相同的方法簽名。
Pessimistic Locking
查詢構(gòu)建器包括一些“悲觀鎖定”功能來幫助你做你的SELECT語句?! ∵\行SELECT語句“共享鎖”,你可以使用sharedLock方法查詢:
代碼如下:
DB::table('users')->where('votes', '>',
100)->sharedLock()->get();
更新“鎖”在一個SELECT語句,您可以使用lockForUpdate方法查詢:
?
代碼如下:
?
DB::table('users')->where('votes', '>', 100)->lockForUpdate()->get();
?
七、緩存查詢
你可以輕松地緩存查詢的結(jié)果使用記憶法:
代碼如下:
$users = DB::table('users')->remember(10)->get();
在本例中,查詢的結(jié)果將為十分鐘被緩存。查詢結(jié)果緩存時,不會對數(shù)據(jù)庫運行,結(jié)果將從默認的緩存加載驅(qū)動程序指定您的應(yīng)用程序?! ∪绻褂玫氖侵С志彺娴乃緳C,還可以添加標簽來緩存:
?
代碼如下:
?
$users = DB::table('users')->cacheTags(array('people', 'authors'))->remember(10)->get();


本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻,版權(quán)歸原作者所有,本站不承擔相應(yīng)法律責任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

如何創(chuàng)建Laravel包(Package)開發(fā)? 如何創(chuàng)建Laravel包(Package)開發(fā)? May 29, 2025 pm 09:12 PM

在Laravel中創(chuàng)建包的步驟包括:1)理解包的優(yōu)勢,如模塊化和復用;2)遵循Laravel的命名和結(jié)構(gòu)規(guī)范;3)使用artisan命令創(chuàng)建服務(wù)提供者;4)正確發(fā)布配置文件;5)管理版本控制和發(fā)布到Packagist;6)進行嚴格的測試;7)編寫詳細的文檔;8)確保與不同Laravel版本的兼容性。

Laravel中的中間件(Middleware)是什么?如何使用? Laravel中的中間件(Middleware)是什么?如何使用? May 29, 2025 pm 09:27 PM

中間件是Laravel中的過濾機制,用于攔截和處理HTTP請求。使用步驟:1.創(chuàng)建中間件:使用命令“phpartisanmake:middlewareCheckRole”。2.定義處理邏輯:在生成的文件中編寫具體邏輯。3.注冊中間件:在Kernel.php中添加中間件。4.使用中間件:在路由定義中應(yīng)用中間件。

Laravel頁面緩存(Page Cache)策略 Laravel頁面緩存(Page Cache)策略 May 29, 2025 pm 09:15 PM

Laravel的頁面緩存策略可以顯著提升網(wǎng)站性能。 1)使用cache輔助函數(shù)實現(xiàn)頁面緩存,如Cache::remember方法。 2)選擇合適的緩存后端,如Redis。 3)注意數(shù)據(jù)一致性問題,可使用細粒度緩存或事件監(jiān)聽器清除緩存。 4)結(jié)合路由緩存、視圖緩存和緩存標簽進一步優(yōu)化。通過合理應(yīng)用這些策略,可以有效提升網(wǎng)站性能。

Laravel MVC體系結(jié)構(gòu):出了什么問題? Laravel MVC體系結(jié)構(gòu):出了什么問題? Jun 05, 2025 am 12:05 AM

Laravel'sMVCarchitecturecanfaceseveralissues:1)Fatcontrollerscanbeavoidedbydelegatinglogictoservices.2)Overloadedmodelsshouldfocusondataaccess.3)Viewsshouldremainsimple,avoidingPHPlogic.4)PerformanceissueslikeN 1queriescanbemitigatedwitheagerloading.

如何在Laravel中使用Seeder填充測試數(shù)據(jù)? 如何在Laravel中使用Seeder填充測試數(shù)據(jù)? May 29, 2025 pm 09:21 PM

在Laravel中使用Seeder填充測試數(shù)據(jù)是開發(fā)過程中一個非常實用的技巧,下面我將詳細講解如何實現(xiàn)這一點,同時分享一些我在實際項目中遇到的問題和解決方案。在Laravel中,Seeder是用來填充數(shù)據(jù)庫的工具,它可以幫助我們快速生成測試數(shù)據(jù),從而方便開發(fā)和測試。使用Seeder不僅能節(jié)省時間,還能確保數(shù)據(jù)的一致性,這對于團隊協(xié)作和自動化測試尤其重要。我記得在一次項目中,我們需要為一個電商平臺生成大量的商品和用戶數(shù)據(jù),當時Seeder就派上了大用場。讓我們看看如何使用它。首先,確保你的Lara

Laravel遷移(Migrations)是什么?如何使用? Laravel遷移(Migrations)是什么?如何使用? May 29, 2025 pm 09:24 PM

Laravel的遷移是數(shù)據(jù)庫版本控制工具,允許開發(fā)者編程方式定義和管理數(shù)據(jù)庫結(jié)構(gòu)變化。1.使用Artisan命令創(chuàng)建遷移文件。2.遷移文件包含up和down方法,分別定義創(chuàng)建/修改和回滾數(shù)據(jù)庫表。3.執(zhí)行遷移使用phpartisanmigrate命令,回滾使用phpartisanmigrate:rollback。

Laravel:初學者的簡單MVC項目 Laravel:初學者的簡單MVC項目 Jun 08, 2025 am 12:07 AM

Laravel適合初學者創(chuàng)建MVC項目。1)安裝Laravel:使用composercreate-project--prefer-distlaravel/laravelyour-project-name命令。2)創(chuàng)建模型、控制器和視圖:定義Post模型,編寫PostController處理邏輯,創(chuàng)建index和create視圖顯示和添加帖子。3)設(shè)置路由:在routes/web.php中配置/posts相關(guān)路由。通過這些步驟,你可以構(gòu)建一個簡單的博客應(yīng)用,掌握Laravel和MVC的基礎(chǔ)知識。

Laravel的政策是什么,如何使用? Laravel的政策是什么,如何使用? Jun 21, 2025 am 12:21 AM

InLaravel,policiesorganizeauthorizationlogicformodelactions.1.Policiesareclasseswithmethodslikeview,create,update,anddeletethatreturntrueorfalsebasedonuserpermissions.2.Toregisterapolicy,mapthemodeltoitspolicyinthe$policiesarrayofAuthServiceProvider.

See all articles