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

首頁 php教程 PHP開發(fā) Laravel框架資料庫CURD操作、連貫操作使用方法

Laravel框架資料庫CURD操作、連貫操作使用方法

Nov 22, 2016 pm 12:40 PM
laravel

Laravel框架資料庫CURD操作、連貫操作使用方法
Laravel框架資料庫CURD操作、連貫如何來操作了這個操作性是非常的方便簡單了我們在這裡來為各位介紹一篇相關(guān)的教程,具體的細(xì)節(jié)步驟如下文介紹。
Laravel是一套簡潔、優(yōu)雅的PHP Web開發(fā)架構(gòu)(PHP Web Framework)。它可以讓你從麵條一樣雜亂的程式碼中解脫出來;它可以幫你建立一個完美的網(wǎng)路APP,而且每行程式碼都可以簡潔、富於表達(dá)力。
一、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');
此方法將會傳回一個陣列標(biāo)題的作用。你也可以指定一個自訂的鍵列回傳的陣列
$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)器也可以用來寫連接語句??纯聪旅娴墓?fàn)例:
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子句,如“存在”或巢狀參數(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
)
,?
四、聚合
查詢馬克斯,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
有時您可能需要使用一個原始表達(dá)式的查詢。這些表達(dá)式將注入的查詢字串,所以小心不要創(chuàng)建任何SQL注入點!創(chuàng)建一個原始表達(dá)式,可以使用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)
);

?
注意:當(dāng)使用PostgreSQL insertGetId方法預(yù)計,自增列被命名為“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', 'delete();
?
刪除表中的所有記錄
程式碼如下:
DB::table('users') ->delete();
刪除一個表格
?
程式碼如下:
?
DB::table('users')->truncate();
?
六、Unions
六、Unions
「聯(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語句。執(zhí)行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é)果快取時,不會對資料庫執(zhí)行,結(jié)果將從預(yù)設(shè)的快取載入驅(qū)動程式指定您的應(yīng)用程式。如果您使用的是支援快取的司機(jī),也可以加入標(biāo)籤來快取:
?
程式碼如下:
?
$users = DB::table('users')->cacheTags(array('people', 'authors') )->remember(10)->get();


????
本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)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

強(qiáng)大的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)勢,如模塊化和復(fù)用;2)遵循Laravel的命名和結(jié)構(gòu)規(guī)範(fàn);3)使用artisan命令創(chuàng)建服務(wù)提供者;4)正確發(fā)布配置文件;5)管理版本控制和發(fā)佈到Packagist;6)進(jìn)行嚴(yán)格的測試;7)編寫詳細(xì)的文檔;8)確保與不同Laravel版本的兼容性。

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

中間件是Laravel中的過濾機(jī)制,用於攔截和處理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ù)一致性問題,可使用細(xì)粒度緩存或事件監(jiān)聽器清除緩存。4)結(jié)合路由緩存、視圖緩存和緩存標(biāo)簽進(jìn)一步優(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ā)過程中一個非常實用的技巧,下面我將詳細(xì)講解如何實現(xiàn)這一點,同時分享一些我在實際項目中遇到的問題和解決方案。在Laravel中,Seeder是用來填充數(shù)據(jù)庫的工具,它可以幫助我們快速生成測試數(shù)據(jù),從而方便開發(fā)和測試。使用Seeder不僅能節(jié)省時間,還能確保數(shù)據(jù)的一致性,這對於團(tuán)隊協(xié)作和自動化測試尤其重要。我記得在一次項目中,我們需要為一個電商平臺生成大量的商品和用戶數(shù)據(jù),當(dāng)時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:初學(xué)者的簡單MVC項目 Laravel:初學(xué)者的簡單MVC項目 Jun 08, 2025 am 12:07 AM

Laravel適合初學(xué)者創(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