iT邦幫忙

2026 iThome 鐵人賽

DAY 11
0
自我挑戰組

Laravel 讀碼源系列 第 11

產品管理列表的資料表

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20260820/20119035mGsb8j5Jlv.png

-- phpMyAdmin SQL Dump
-- version 5.2.3
-- https://www.phpmyadmin.net/
--
-- 主機: localhost:3306
-- 產生時間: 2026 年 08 月 19 日 04:31
-- 伺服器版本: 5.7.44
-- PHP 版本: 8.1.34

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- 資料庫: `laihao_laravel_demo`
--

-- --------------------------------------------------------

--
-- 資料表結構 `images`
--

CREATE TABLE `images` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `attachable_type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '來源表',
  `attachable_id` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '來源表ID',
  `path` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '路徑',
  `filename` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '檔案名稱',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

--
-- 傾印資料表的資料 `images`
--

INSERT INTO `images` (`id`, `attachable_type`, `attachable_id`, `path`, `filename`, `created_at`, `updated_at`) VALUES
(28, 'App\\Models\\Product', '1', 'images/7s8SvMhQwMvRCoRWUcgdX55hCVlpA7D4EBa0WzRS.jpg', '7s8SvMhQwMvRCoRWUcgdX55hCVlpA7D4EBa0WzRS.jpg', '2026-05-04 06:50:45', '2026-05-04 06:50:45'),

--
-- 已傾印資料表的索引
--

--
-- 資料表索引 `images`
--
ALTER TABLE `images`
  ADD PRIMARY KEY (`id`);

--
-- 在傾印的資料表使用自動遞增(AUTO_INCREMENT)
--

--
-- 使用資料表自動遞增(AUTO_INCREMENT) `images`
--
ALTER TABLE `images`
  MODIFY `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=69;
COMMIT;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;



後面資料內容格式一樣就不全部貼出來~

用 phpMyAdmin 匯出的 MySQL 資料表結構與資料,主要建立並填充一個名為 images 的資料表,用來儲存 Laravel 專案中「可附加圖片」的多態關聯紀錄。
整體結構與用途
這是一個標準的 phpMyAdmin SQL dump 檔頭,包含版本、主機、時間、伺服器版本與 PHP 版本等資訊。
它針對資料庫 laihao_laravel_demo 建立資料表 images,並插入多筆圖片紀錄,最後設定主鍵與自動遞增。
建表語法解析
CREATE TABLE images (
id bigint(20) UNSIGNED NOT NULL,
attachable_type varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '來源表',
attachable_id varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '來源表ID',
path varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '路徑',
filename varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '檔案名稱',
created_at timestamp NULL DEFAULT NULL,
updated_at timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
id: 主鍵,無號 big integer,後續會設為 AUTO_INCREMENT。
attachable_type / attachable_id: 典型 Laravel 多態關聯欄位,用來記錄這張圖片屬於哪個模型(例如 App\Models\Product)以及該模型的 ID。
path: 圖片在伺服器上的相對路徑(例如 images/xxxx.jpg)。
filename: 檔案名稱(通常與路徑尾端相同)。
created_at / updated_at: Laravel 慣用的時間戳記欄位。
字元集與排序規則使用 utf8mb4_unicode_ci,支援完整 Unicode(含 emoji)。
資料插入(INSERT)
INSERT INTO images (...) VALUES
(28, 'App\Models\Product', '1', 'images/7s8SvMhQwMvRCoRWUcgdX55hCVlpA7D4EBa0WzRS.jpg', ...),
(29, 'App\Models\Product', '2', 'images/SK4OWPo3akzWdm80y68gXfktTrws0y9XcEulHAKm.jpg', ...),
...
(68, 'App\Models\Product', '41', 'images/ZwPwULnebFLQa4ZVozvJxsMYDMEgCIa4ZKqvvCsg.jpg', ...);
每一筆都是某張產品(App\Models\Product)的圖片,attachable_id 對應產品的 ID(1~41)。
路徑與檔名都是隨機字串加上 .jpg,常見於上傳時重新命名以避免衝突。
時間戳記顯示這些圖片是在 2026-05-04 到 2026-05-22 之間分批建立。
索引與自動遞增
ALTER TABLE images
ADD PRIMARY KEY (id);

ALTER TABLE images
MODIFY id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=69;
將 id 設為主鍵,並啟用自動遞增,下一筆新資料會從 69 開始。

明天就來寫後端程式碼~


上一篇
解釋產品管理列表的前端code
下一篇
產品管理列表的後端code
系列文
Laravel 讀碼源12
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言