Laravel 系列 - 7: Laravel 的小知識

更新 發佈閱讀 4 分鐘

這篇會將統一整理一些 Laravel 常用函數的小知識。

Pluck

  1. 可以直接獲取需要的欄位值。
  2. 當它接在 query builder 上,會自動下 select 的指令。
  3. pluck 完以後,已經是 collect([]) 的結果,因此可以直接 ->all() 結果出來。

Collapse

  1. 可以將多維資料轉為一維資料。

toArray() 與 insert

由於 toArray() 是 recursive 的函數,因此可以搭配 insert 一次處理多筆的特性,可以節省掉很多 query 。

//舊的
$models->each(function ($model) { LogRecruitCardProcess::insert($model->toArray()); });
//新的
LogRecruitCardProcess::insert($models->toArray());

SQL 的效能瓶頸

與資料庫互動時,應時時注意取出資料過大時該怎麼辦,即使看似只是一個小地方。

舉例來說,與其先 SELECT 後再將符合條件的進行 UPDATE,不如先把符合條件的資料紀錄下來並一次 UPDATE。這樣如果撈出500筆資料,用前者的方式最多執行 1+500次,而後者則只需 1+1 次。

map() 與 fn

利用 map() 與 fn 直接處理符合的資料。

private function getData(int $idNo, Collection $dataFlow): array
{
return $dataFlow->filter(fn (Subprocess $process) => $process->idno == $idNo)
->map(fn (Subprocess $subprocess) => [
'id' => (string) $subprocess->id,
'name' => $subprocess->name,
])->toArray();
}

預設環境變數

在 Laravel中 ,設定預設環境變數的載入方法紀錄在 bootstrap/app.php 裡面。

$app->afterLoadingEnvironment(function () use ($app) {
// 載入不同環境設定
Dotenv\\Dotenv::createMutable($app->environmentPath(), $app->environmentFile() . '.' . env('APP_ENV'))->safeLoad();
// 載入主機環境設定
Dotenv\\Dotenv::createMutable('/opt')->safeLoad();
});

參考資料

  1. https://laravel.tw/docs/5.2/eloquent-collections
留言
avatar-img
留言分享你的想法!
avatar-img
林柏宇的沙龍
2會員
57內容數
test
林柏宇的沙龍的其他內容
2025/08/10
本文提供AWS雲端平臺的SEO建議,包含安全性、監控與分析、訂價和支援、遷移與創新、以及架構等面向。針對每個面向,提供關鍵字建議及優化策略。
Thumbnail
2025/08/10
本文提供AWS雲端平臺的SEO建議,包含安全性、監控與分析、訂價和支援、遷移與創新、以及架構等面向。針對每個面向,提供關鍵字建議及優化策略。
Thumbnail
2025/08/03
這篇文章整理了AWS Cloud Practitioner Essentials考試重點,涵蓋雲端運算部署模型、Amazon EC2執行個體類型與定價、全球基礎設施與可靠性、網路架構 (VPC、子網路、安全群組等)、儲存和資料庫服務等。文章深入淺出地解釋每個概念,並輔以生活化的例子方便理解。
Thumbnail
2025/08/03
這篇文章整理了AWS Cloud Practitioner Essentials考試重點,涵蓋雲端運算部署模型、Amazon EC2執行個體類型與定價、全球基礎設施與可靠性、網路架構 (VPC、子網路、安全群組等)、儲存和資料庫服務等。文章深入淺出地解釋每個概念,並輔以生活化的例子方便理解。
Thumbnail
2025/07/27
這篇文章提供關於Kubernetes集群管理的全面指南,涵蓋Job、儲存方案整合、程式語言存取、Pod安全、策略治理以及多集群應用程式部署等關鍵主題。文章深入淺出地解釋了每個章節的重點概念,並提供實用的建議和最佳實踐。
Thumbnail
2025/07/27
這篇文章提供關於Kubernetes集群管理的全面指南,涵蓋Job、儲存方案整合、程式語言存取、Pod安全、策略治理以及多集群應用程式部署等關鍵主題。文章深入淺出地解釋了每個章節的重點概念,並提供實用的建議和最佳實踐。
Thumbnail
看更多
你可能也想看
Thumbnail
在本章節中,我們探討了 PHP 中如何引用和管理套件。學習了如何使用 Composer 來安裝第三方套件,以及如何引用自定義模組。此外,我們還介紹了如何創建和使用自定義套件,並列舉了一些在 PHP 社群中常見且廣泛使用的套件和庫。通過掌握這些知識,開發者可以更有效地管理和利用各種資源。
Thumbnail
在本章節中,我們探討了 PHP 中如何引用和管理套件。學習了如何使用 Composer 來安裝第三方套件,以及如何引用自定義模組。此外,我們還介紹了如何創建和使用自定義套件,並列舉了一些在 PHP 社群中常見且廣泛使用的套件和庫。通過掌握這些知識,開發者可以更有效地管理和利用各種資源。
Thumbnail
在這一章中,我們探討了 PHP 中的函數,包括函數的基本結構、不同的函數定義方式(如函數聲明、函數表達式、箭頭函數和匿名函數)以及如何呼叫函數。我們還討論了函數的參數處理方式,包括單個參數、多個參數、預設參數值和剩餘參數。此外,我們還介紹了函數的返回值,包括返回單個值、返回物件和返回函數的情況。
Thumbnail
在這一章中,我們探討了 PHP 中的函數,包括函數的基本結構、不同的函數定義方式(如函數聲明、函數表達式、箭頭函數和匿名函數)以及如何呼叫函數。我們還討論了函數的參數處理方式,包括單個參數、多個參數、預設參數值和剩餘參數。此外,我們還介紹了函數的返回值,包括返回單個值、返回物件和返回函數的情況。
Thumbnail
在本節中,我們介紹了PHP的基本語法,包括如何在HTML中嵌入PHP代碼,PHP腳本的執行順序,以及多種註解方式。我們還學習了如何定義和使用變數,包括單個變數和多個變數的賦值方法。這些基礎知識將幫助你開始使用PHP進行Web開發。
Thumbnail
在本節中,我們介紹了PHP的基本語法,包括如何在HTML中嵌入PHP代碼,PHP腳本的執行順序,以及多種註解方式。我們還學習了如何定義和使用變數,包括單個變數和多個變數的賦值方法。這些基礎知識將幫助你開始使用PHP進行Web開發。
Thumbnail
介紹工作後幾個常見的小問題,包括寫 Log 的好習慣、本地印出錯誤或過程、PHPCS 工具、變數儲存於設定檔、避免魔術數字、程式碼靜態分析與動態分析。
Thumbnail
介紹工作後幾個常見的小問題,包括寫 Log 的好習慣、本地印出錯誤或過程、PHPCS 工具、變數儲存於設定檔、避免魔術數字、程式碼靜態分析與動態分析。
Thumbnail
你好,在下最近在學習開發web,學了html css js,也得出一些心得,由於網路上已有許多教學,所以我會著重在如何開發出to do List,以及解釋我寫的程式碼。相關的教學我會直接貼網址。如果我有什麼地方出錯,或者是可以寫得更好,歡迎在下方留言,討論。 首先先介紹我的開發環境: 我用了vs
Thumbnail
你好,在下最近在學習開發web,學了html css js,也得出一些心得,由於網路上已有許多教學,所以我會著重在如何開發出to do List,以及解釋我寫的程式碼。相關的教學我會直接貼網址。如果我有什麼地方出錯,或者是可以寫得更好,歡迎在下方留言,討論。 首先先介紹我的開發環境: 我用了vs
Thumbnail
利用文字紀錄,明確寫下自己的採購項目......
Thumbnail
利用文字紀錄,明確寫下自己的採購項目......
Thumbnail
軟體系統的發展歷程大多相似,首重解決基本需求、提供操作介面,進而提升安全性、擴充功能、優化操作。
Thumbnail
軟體系統的發展歷程大多相似,首重解決基本需求、提供操作介面,進而提升安全性、擴充功能、優化操作。
Thumbnail
這邊統整了所有過去發表過關於 QUERY 函式的教學分享,希望可以方便你按照順序閱讀和練習。 QUERY 可以用來查詢、篩選、聚集、排序資料,還可以做張簡易的資料透視表,是我在 Google 試算表上做數據分析、製作報告、製作儀表板時最常用的函式之一,既方便又好用,誠心推薦!
Thumbnail
這邊統整了所有過去發表過關於 QUERY 函式的教學分享,希望可以方便你按照順序閱讀和練習。 QUERY 可以用來查詢、篩選、聚集、排序資料,還可以做張簡易的資料透視表,是我在 Google 試算表上做數據分析、製作報告、製作儀表板時最常用的函式之一,既方便又好用,誠心推薦!
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News