這個和語言無關,理清脈絡搞好表結構就行了。
參考百度問答就可以發現,這是壹個二級回復體系,即
對於壹個問題可以有多個答案,這是壹級回復。
同時提問者對於答案可以進行追問,追問可以追答,但是只有提問者能追問,且必須有追問才能進行追答。
由此,數據表結構應該如下:
問題表很普通,不多說了。對於答案表的數據處理應符合以下邏輯:
如果是對問題的直接回答,parent_id為null
如果是對回答的回復,如果該條回答的parent_id為null,parent_id為回復的id,否則使用該回復的parent_id作為新記錄的parent_id
前端邏輯:
顯示問題答案時,答案排序方式為 order by question_id, IF(parent_id IS NULL, id, parent_id), id
對於parent_id相同(如果沒有parent_id取id代表)的壹組回復,按id排序,最後的回復者如果是提問人,允許追答,否則允許追問。