只是想了解一些東西。一個項目可以有很多文檔。在文檔控制器,我這樣做了create
函數中:Laravel 5 - 奇怪的行爲我正在努力去理解
public function create(Project $project)
{
$documents = Document::all();
$documentLink = $_GET['documentType'];
$document = Helper::findInCollection($documents, "name", $documentLink);
dd($document);
if ($document) {
return View::make($documentLink.'Doc.edit', compact('project', 'document'));
}
}
所以我基本上得到所有的文件。然後我得到我目前正在處理的文檔。然後我將它傳遞給該文檔的編輯視圖。 dd
向我顯示正確的文檔,所以這很好。
在該文檔的編輯視圖,我也看到了正確的文件我想,如果我做
{{ $document }}
所以我知道我有正確的Document
。這個編輯頁面的表單模型
{!! Form::model($project->document, [
'class'=>'form-horizontal',
'method' => 'PATCH',
'route' => ['projects.documents.update', $project, $document]
]) !!}
所以我傳遞的路線我Project
型號和我的Document
模型。現在我會假設$document
將是我正在處理的文檔。
然而,在更新功能,如果我做
public function update(Project $project, Document $document)
{
dd($document);
return null;
}
它輸出空Document
。但是,如果我從函數參數中刪除Document
的類型提示,它將輸出我正在處理的文檔的id
。
爲什麼會這樣?爲什麼通過Document
輸出一個空白文檔,但刪除它只顯示當前Document
的id。
任何信息讚賞。
由於