[英]Laravel 5.1 Post is empty, but not null argument given
我有一个奇怪的问题。 我想更多是一种语义上的。
无论如何。 我有一个视图,用于向数据库中添加2个id-s,该数据库将n个问题连接到名为question_to_survey的表中的n个调查中。 我有一个值,我将该值发布到另一个URL,但是Post每次都是空的,而给定的值不是(在URL末尾串联)。
Controller Store方法(我真的是Web应用程序的新手):
public function store(Request $request)
{
dd(\Request::input());
$ids = $request->get('ids');
$pieces = explode("_", $ids);
$questionToSurvey = new QuestionToSurvey;
$questionToSurvey->question_id = $pieces[0];
$questionToSurvey->survey_id = $pieces[1];
$questionToSurvey->save();
return redirect('/admin/menu/questions/' . $pieces[0]);
}
视图中的调用(我已经测试了每个变量,它们都不都是null。我在Post中需要的值是$ question-> id。“ _”。$ survey-> id)。 我使用相同的表单将更新发布到同一项目中的数据库对象中,并且可以正常工作。 我正在使用FormFacade扩展。 $ question是通过compact给出的,我的数据库表有模型:
@foreach($surveys2 as $survey)
<tr>
<td>{{ $survey->name }}</td>
<td>{{ $survey->id }}</td>
<td>{!! Form::open(['url' => ['admin/menu/questions/add/binding', $question->id . "_" . $survey->id], 'method' => 'POST']) !!}
{!! Form::submit('Add connection', ['class' => 'btn btn-danger']) !!}
{!! Form::close() !!}</td>
</tr>
@endforeach
通过dd(\\ Request :: input())的post输出(我添加的参数在哪里?):
array:1 [▼
"_token" => "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
]
路线:
Route::post('admin/menu/questions/add/binding/{id}', 'QuestionToSurveyController@store');
我想念什么吗? 我敢打赌这很容易,或者我只是违反了某种Laravel惯例。
我有点困惑你在问什么。 据我了解,您的dd(\\Request::input())
和route的输出是正确的,但我认为您的store方法是错误的。 您的存储方法必须如下所示:
public function store($id)
{
// Here $id is the id that you had passed in route parameter
$pieces = explode("_", $id);
$questionToSurvey = new QuestionToSurvey();
$questionToSurvey->question_id = $pieces[0];
$questionToSurvey->survey_id = $pieces[1];
$questionToSurvey->save();
return redirect('/admin/menu/questions/' . $pieces[0]);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.