PHP

用 PHP 解釋 SOLID 原則裡的「O」

SOLID 原則的 S,在上篇我們已經用 TypeScript 來介紹用 TypeScript 解釋 SOLID 原則裡的「S」本篇文章要來介紹開放封閉原則 (Open–closed principle,OCP)也是...

避免 Laravel ORM 的 N+1 問題

目前大多框架都會使用 ORM (Object Relational Mapping,物件關係對映) 的方式與資料庫進行互動ORM 的用途,是將關聯式資料庫的資料表,對應到應用程式中的物件...

在 Laravel ORM 中,使用 AND 與 OR 組合 WHERE 條件的小技巧

有時候在撈取資料表資料的時候,因為 WHERE 條件較為複雜可能需要使用多個 AND 或是 OR 才能撈取到我們想要的資料假設我們的 WHERE 過濾條件如下WHERE ('sex' =...

Laravel ORM 的新功能,One of Many

在 Laravel 8.42 版本中,新增了一個蠻有趣的語法 One of Many可以用來找出一對多關聯中,再「多」裡面「最新」的那一筆紀錄,並建立一對一關聯簡單舉個例子,以...

簡單介紹 Callback(回呼函式)

Callback(回呼函式),意思是指能藉由參數(argument)通往另一個函式的函式聽起來很饒舌,我們用 PHP 來示範什麼是 Callback根據官網對於 Callback 的介紹,下...

簡單介紹 Laravel 的 DB Transactions

MySQL 資料庫,PHP 的好夥伴在現在的版本中,MySQL 資料庫基本上都是使用 innoDB 作為預設的資料庫引擎innoDB 與之前 MyISAM 相比,支援了 ACID 相容的交易(Tra...

Laravel 8.37 的新功能,匿名 Migration

起因於某次 Laravel 的 issue(#5899)中提出的一個狀況問題中描述的狀況是在專案版本 1.0 的時候建立一個 migration,名稱為 create_new_table在專案版本 1.1...

簡單介紹 Laravel 的 replicate helper

如果需要從資料庫中複製一筆資料來產生新資料的話,Laravel 的 ORM 提供一個 replicate 方法在複製完之後,你還可以對資料內容進行調整並儲存,生成一筆新的資料...

在 Laravel 中使用 Algolia 實作搜尋功能

Algolia 是一個專精於搜尋的網路服務與 Elasticsearch 類似,只要將可供搜尋的資料匯入至 Algolia 的資料庫(Index)就可以在前端使用 Call API 的方式進行搜尋...

PHP 的 Fluent Interface

某天調整網站路由的時候看到這一句Route::view('/create', 'posts/create')->middleware('auth')->name('posts.create');如果你喜歡,後面的 middleware...