【发布时间】:2017-11-02 14:34:16
【问题描述】:
前几天开始在 laracasts 上学习 laravel,遇到了一个小问题。
当我使用 post 方法提交表单数据并希望在我的控制器中访问此数据时,我有一个空值。
表格:
<form method="POST" action="{{ url('/costs')}}">
{{ csrf_field() }}
<div class="form-group">
<label for="cost-title">Cost title</label>
<input type="text" class="form-control" id="cost-title" name="title" placeholder="Enter cost title">
</div>
<div class="form-group">
<label for="cost-price">Price</label>
<input type="text" class="form-control" id="cost-price" name="price" placeholder="Enter price">
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
控制器:
<?php
namespace App\Http\Controllers;
use App\Cost;
class CostsController extends Controller
{
public function index(){
$costs = Cost::all();
return view('costs.index', compact('costs'));
}
public function show(Cost $cost){
return view('costs.show', compact('cost'));
}
public function create(Cost $cost){
return view('costs.create');
}
public function store(){
dd(request()->all);
}
}
在我的路线中,我使用 post 方法触发 @store:
Route::get('/costs', 'CostsController@index');
Route::get('/cost/{cost}', 'CostsController@show');
Route::get('/costs/create', 'CostsController@create');
Route::post('/costs', 'CostsController@store');
当我尝试转储和终止请求时:
public function store(){
dd(request()->all);
}
我有一个空值。你能解释一下为什么我在这里看不到任何数据吗?
【问题讨论】:
-
试试这个
public function store(Request $request){ dd($request->all()); } -
@Maraboc,我试过了,但出现这样的错误:“Class App\Http\Controllers\Request 不存在”
-
在你的控制器上添加这个
use Illuminate\Http\Request;;) -
错误消失了,但我仍然有一个空值。
标签: laravel controller null