[英]How to pass/access data correctly to controller in Laravel 5.2
laravel的新手,並遵循其中間任務列表以嘗試掌握概念。
我在CLI中做了一個php artisan遷移,將2個新列添加到任務表中,第一列是DATE,名稱為Due&第二列是TEXT,名稱為description,我也已添加到視圖中,因此現在看起來像這樣
<form action="/task" method="POST" class="form-horizontal">
{{ csrf_field() }}
<!-- Task Name -->
<div class="form-group">
<label for="task-name" class="col-sm-1 control-label">Task</label>
<div class="col-sm-3">
<input type="text" name="name" id="task-name" class="form-control" value="{{ old('task') }}">
</div>
<label for="task-due" class="col-sm-2 control-label">Due Date</label>
<div class="col-sm-4">
<input type="date" name="due_date" id="task-due" class="form-control" value="">
</div>
</div>
<!-- Add Task Button -->
<div class="form-group">
<label for="task-due" class="col-sm-1 control-label">Description</label>
<div class="col-sm-9">
<input type="text" name="description" id="task-description" class="form-control" value="">
</div>
<div class="col-sm-2">
<button type="submit" class="btn btn-default">
<i class="fa fa-btn fa-plus"></i>Add Task
</button>
</div>
</div>
</form>
我只想填寫一些額外的輸入,稱為Due_date和description,我要在數據庫中填寫一個帖子。
控制器:
public function store(Request $request)
{
$this->validate($request, [
'name' => 'required|max:255',
]);
$request->user()->tasks()->create([
'name' => $request->name,
'due'=>$request->due_date,
'description'=>$request->description,
]);
return redirect('/tasks');
}
我不確定發布時是否寫的正確,任務的名稱確實在數據庫中,但是應歸因於registry的列和列描述為空。
我在控制器中正確調用了這些字段嗎? 我嘗試過交換名稱,但我認為$Request
變量包含表單數據。
歡迎所有幫助和解釋。
您應該確保為您的Task
模型設置了$fillable
屬性,並具有name
, due
和description
。 現在您可能只有name
所以其他name
將使用默認值而不是輸入中的值
找到了解決方案,
我的錯是無法正確閱讀頁面。
protected $fillable = ['name','due','description'];
我忘了增加模型內的$ fillable變量集,因此create()方法只將數據放入$ fillable內。
抱歉浪費任何人的時間
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.