我有一個API接口,它接受患者的LabTestResult並將其保存在數據庫中。實驗室測試結果的結果列可以是字符串(來自醫生的長文本),整數值或+/-(我將使用布爾值)。數據庫中不同類型的值的繼承
目前我有一個數據庫有三列(text_result,integer_result,sign_result)和每個labtestresult其中之一是字段。
首先,這是正確的做法嗎?還是我需要有三個不同的表,只有結果值是不同的類型?
我也在考慮使用繼承,有一個主模型LabTestResult並有三個子模型TextLabTestResult,IntegerLabTestResult,SignLabtestResult。
所以現在我的問題是當請求來到控制器(API)時,我應該有一個邏輯,如果結果是一個字符串做TextLabTestResult.new或者我應該在父模型LabTestResult中有邏輯,並有一個case語句,如果我們有一個字符串做TextLabTestResult,等等。
我覺得有一個設計模式可以描述這個,我可能完全錯過了一些東西,可能會有更好的設計。