Laravel Model Eloquent 動態資料表

hsuan-ming Yang
1 min readAug 1, 2020

--

今日主題:最近在做平台時有個需求是要將Model 的$table可以根據商店(store)來進行切換,例如 xiaomi_products、mami_products…前綴使用”xxx_”將商品按表存放。

# 步驟說明
1. 新增基礎Model #重點在於建構子
2. 新增需要的Model,如News、Product、Category...繼承自“基礎Model”
在建構子配置新的table name

新增Model: Product

<?phpnamespace App\Models;use App\Models\BaseModel\BaseModel as Eloquent;/*** 產品列表*/class Product extends Eloquent {# ... 省略 ...}

# 重點說明會選擇使用這個方式的原因是,原本的Model提供的相關function都可以正常使用,laravel-admin的Controller也可以正常使用。之前使用在new 實例化Model的時候將table name 透過參數配置,造成很多奇怪的問題。

— 完成 —

--

--

No responses yet