Laravel 週報 12.3

更新於 發佈於 閱讀時間約 5 分鐘

# JSON Unicode Cast Type

12.3 Eloquent Attributes 新增 json:unicode cast type,允許 JSON encoding JSON_UNESCAPED_UNICODE

<?php
protected $casts = [
'data' => 'json:unicode',
];

# Add "Storage Linked" Check to the about Command

12.3,Artisan about command 新增 Storage section,會根據 config 顯示 filesystems link 狀態

<?php
// config/filesystem.php
return [
'links' => [
public_path('storage') => storage_path('app/public'),
public_path('images') => storage_path('app/images'),
],
];
$ php artisan about

Storage
public/images ................................................... NOT LINKED
public/storage .................................................. LINKED

# Native JSON and JSONB Column Types in SQLite Schema

  • SQLite 自 3.38.0 起內建支援 JSON,而早期版本需要安裝 extension 才能使用。
  • 自 3.45 起也支援 JSONB 型別(更有效率的 JSON 格式)。
  • Laravel 12 支援 SQLite 3.26.0 & 更新版本,所以 Laravel 不能假設一定有 JSON/JSONB 功能。
  • Query\Grammars\SQLiteGrammar:支援 JSON 查詢函數,而 Schema\Grammars\SQLiteGrammar:不支援 JSON 欄位結構定義。
  • 綜上所述,12.3 加入一種方式,讓開發者可以透過資料庫設定檔,啟用 SQLite 原生 JSON/JSONB 功能,當 SQLite 是舊版本時,開發者可以默認不啟用,而當 SQLite 是新版本時,開發者可以選擇啟用
  • 若啟用 JSON 時,Schema definition 也會支援 JSON,前提時 SQLite 版本至少要 3.38
<?php
'sqlite' => [
'driver' => 'sqlite',
'url' => env('DATABASE_URL'),
...,
'use_native_json' => true,
'use_native_jsonb' => true,
],

# Support for PostgreSQL "unique nulls not distinct"

12.3 新增 nullsNotDistinct() method

一般 PostgreSQL 預設會把 NULL 當作彼此不相等,所以可以有多個 NULL 通過 unique 限制,可透過此 method 建立 NULL 不相等的 unique index

<?php
Schema::create('users', function (Blueprint $table) {
$table->string('email')->nullable();

// 建立 unique 索引,但 NULL 被視為 "相同"
$table->unique('email')->nullsNotDistinct();
});

# 參考來源

Laravel News

留言
avatar-img
留言分享你的想法!
avatar-img
Learn or Die
0會員
16內容數
分享程式技術
Learn or Die的其他內容
2025/05/14
# 安裝 npm install -g typescript # 編譯 使用框架如 NextJS 時,框架會自動執行 TS 編譯 tsc hello.ts # Hello TypeScript 範例:function sayHello(person: string) { retu
2025/05/14
# 安裝 npm install -g typescript # 編譯 使用框架如 NextJS 時,框架會自動執行 TS 編譯 tsc hello.ts # Hello TypeScript 範例:function sayHello(person: string) { retu
2025/05/14
在 Next.js 中有四種方法可以在 routes 之間導航: 使用 <Link> component 使用 useRouter hook(用於 Client Components) 使用 redirect 函數(用於 Server Components) 使用原生的 History AP
Thumbnail
2025/05/14
在 Next.js 中有四種方法可以在 routes 之間導航: 使用 <Link> component 使用 useRouter hook(用於 Client Components) 使用 redirect 函數(用於 Server Components) 使用原生的 History AP
Thumbnail
2025/05/05
# Community Starter Kit Support in laravel new 12.2 Laravel new command,新增支援 community starter kit,支援的清單可 參考 laravel new --using statamic/statamic m
2025/05/05
# Community Starter Kit Support in laravel new 12.2 Laravel new command,新增支援 community starter kit,支援的清單可 參考 laravel new --using statamic/statamic m
看更多
你可能也想看
Thumbnail
孩子寫功課時瞇眼?小心近視!這款喜光全光譜TIONE⁺光健康智慧檯燈,獲眼科院長推薦,網路好評不斷!全光譜LED、180cm大照明範圍、5段亮度及色溫調整、350度萬向旋轉,讓孩子學習更舒適、保護眼睛!
Thumbnail
孩子寫功課時瞇眼?小心近視!這款喜光全光譜TIONE⁺光健康智慧檯燈,獲眼科院長推薦,網路好評不斷!全光譜LED、180cm大照明範圍、5段亮度及色溫調整、350度萬向旋轉,讓孩子學習更舒適、保護眼睛!
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
先前提到 Quasar 的 Dialog Plugin 很好用,再讓我補充一個用法。
Thumbnail
先前提到 Quasar 的 Dialog Plugin 很好用,再讓我補充一個用法。
Thumbnail
User Input & Tables 的使用
Thumbnail
User Input & Tables 的使用
Thumbnail
註解 & Print & 變數型態
Thumbnail
註解 & Print & 變數型態
Thumbnail
因為最近想嘗試編碼風格,於是就選了一套比較"不嚴格"的輔助工具來摸索。 編輯器 VS CODE 框架 VUE3 打包工具 VITE 編碼風格 Standard 環境 version { "nodejs":"v18.18.0", "npm":"9.8.1" }
Thumbnail
因為最近想嘗試編碼風格,於是就選了一套比較"不嚴格"的輔助工具來摸索。 編輯器 VS CODE 框架 VUE3 打包工具 VITE 編碼風格 Standard 環境 version { "nodejs":"v18.18.0", "npm":"9.8.1" }
Thumbnail
自訂元件生成位置顧名思義就是可以指定部分HTML區塊渲染在特定的畫面上,即使在不同組件也能把A組件內的部分畫面,展現在B組件上,以下方程式舉例。
Thumbnail
自訂元件生成位置顧名思義就是可以指定部分HTML區塊渲染在特定的畫面上,即使在不同組件也能把A組件內的部分畫面,展現在B組件上,以下方程式舉例。
Thumbnail
JSON(JavaScript Object Notation)是一種用於資料交換的輕量級資料格式,通常用於網路應用程式之間的資料傳遞。 JSON的格式易於閱讀和撰寫,也易於解析和產生,因此它在開發中被廣泛使用。 JSON由兩種結構組成:物件(Object)和陣列(Array)。
Thumbnail
JSON(JavaScript Object Notation)是一種用於資料交換的輕量級資料格式,通常用於網路應用程式之間的資料傳遞。 JSON的格式易於閱讀和撰寫,也易於解析和產生,因此它在開發中被廣泛使用。 JSON由兩種結構組成:物件(Object)和陣列(Array)。
Thumbnail
有的時候,會希望在物件導向中對原生的Class新增功能的時候,大多我們都會寫一個新的class並繼承。 但是其實Laravel提供了一個不同的方式,讓我們可以在常用的Class上,直接新增想要的function,那就是macro。
Thumbnail
有的時候,會希望在物件導向中對原生的Class新增功能的時候,大多我們都會寫一個新的class並繼承。 但是其實Laravel提供了一個不同的方式,讓我們可以在常用的Class上,直接新增想要的function,那就是macro。
Thumbnail
JavaScript 套件,頁碼 Pagination.js 搭配 axios API 請求範例
Thumbnail
JavaScript 套件,頁碼 Pagination.js 搭配 axios API 請求範例
Thumbnail
第一份正職工作 在iot公司擔任後端工程師,一上工就使用先前沒用過的php/laravel,也馬上負責公司產品的架構規劃,先前資料庫只有簡單記載使用者跟使用者的一些設定,很多地方有資料不一致的問題,產品內容還有很多實體的關係沒有被定義進資料庫都是這次改版我要做的事情。 改版納入公司、機器
Thumbnail
第一份正職工作 在iot公司擔任後端工程師,一上工就使用先前沒用過的php/laravel,也馬上負責公司產品的架構規劃,先前資料庫只有簡單記載使用者跟使用者的一些設定,很多地方有資料不一致的問題,產品內容還有很多實體的關係沒有被定義進資料庫都是這次改版我要做的事情。 改版納入公司、機器
Thumbnail
Accept:用戶端能夠接收的內容類型。 Accept: text/plain, text/html Accept-Charset:瀏覽器可以接受的字元編碼集。 Accept-Charset: utf8 Accept-Encoding:指定瀏覽器可以支援的web伺服器返回內容壓縮編碼
Thumbnail
Accept:用戶端能夠接收的內容類型。 Accept: text/plain, text/html Accept-Charset:瀏覽器可以接受的字元編碼集。 Accept-Charset: utf8 Accept-Encoding:指定瀏覽器可以支援的web伺服器返回內容壓縮編碼
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News