我有一個系統,您可以創建不同類型的文檔。最初,我爲每個文檔都有一個新的模型,但我不認爲這是最好的方式,因爲它可以快速地混亂。所以我想要做的是製作一個通用的文檔模型,並有單獨的文檔來自此。我想出了以下類型的設計 Laravel 5 - 關係和處理數據
因此,一個Document可以有一個DocumentA和一個DocumentB。 DocumentA和DocumentB只能在每個項目中創建一次,這就是爲什麼我有這種關係。現在,每個文檔的每個表單都有一個上傳按鈕,支持文檔可以與生成的文檔一起上傳。所以Documents可以有一個到多個FileUpload。
這是我困惑的地方。一個人訪問我的門戶並選擇創建DocumentA的選項。現在向他們顯示一個表格,如下所示:
因此,他們輸入DocumentA的數據,上傳支持文檔,然後單擊「提交」。
現在我正在考慮如何在Laravel中處理這個問題。
據我瞭解,這將是類似如下
public function store(Request $request, Project $project)
{
$document = new Documents();
$document->documentName = 'Something';
$document->documentA = new DocumentA();
$document->documentA->startDate = Input::get('startDate');
$document->documentA->endDate = Input::get('endDate');
$document->documentA->notes = Input::get('notes');
if (Input::hasFile('filePath')) {
$files = Input::file('filePath');
foreach($files as $file) {
$fileString = "";
$file->move(public_path('uploads'), $file->getClientOriginalName());
$fileString .= public_path('uploads') . '/' . $file->getClientOriginalName();
$document->fileUpload = new FileUploads();
$document->fileUpload->filename = $file->getClientOriginalName();
$document->fileUpload->mime = $file->getClientOriginalExtension();
$document->fileUpload->filepath = $fileString;
$document->fileUpload->documentId = $document->id;
}
}
$document->save();
return Redirect::route('projects.documentA.edit', compact('project', 'documents'));
}
真的,尋找意見,以我是否正確地設計這一點,無論是我內Laravel正確處理它。我將以許多不同的文檔結束,他們每個人都接受不同的輸入。
任何意見讚賞。
謝謝
你想cr爲每個文檔分配不同的表格?就像你在A和B上面展示的那樣。它會變得混亂。你爲什麼不用一個標識符欄來管理這個表? –
你有沒有找到這個解決方案?我現在需要一個:D – Stretsh