-2
在我的數據庫中,我有一個表form_fields
具有這樣的結構:Laravel - 動態雄辯型號取決於列值
id | form_id | title | type
1 | 1 | Subject | text
2 | 1 | Enquiry | textarea
3 | 1 | Logo | file
我有Form
和FormField
車型,這樣的關係從Form
:
public function fields()
{
return $this->hasMany('App\Modules\Forms\Models\FormField', 'form_id', 'id');
}
現在是否可以根據type
字段更改使用哪個類?所以如果我有TextFormField
,TextareaFormField
和FileFormField
,所有擴展基地FormField
模型,是否有可能得到Laravel
使用這些?或者我必須手動完成,所以獲取字段,遍歷它們,並基於類型創建新的實例?這似乎並不困難,但它似乎是一種浪費資源,好像我有20個字段,20個FormField
實例將被創建,然後我將手動創建20個以上?
謝謝!
不會是easyer來覆蓋模式類似(psuedoco get方法de)函數get(){返回SomeClassname :: where(type,classId)} - > get(); –