2015-10-16 50 views
0

我有一个奇怪的问题。我想更多的是一个语义。Laravel 5.1 Post是空的,但没有给出空参数

反正。我有一个表单,用于将2个id-s添加到数据库中,该数据库将n个问题连接到名为question_to_survey的表中的n个调查。我有一个值,我发布到另一个URL,但每次Post都是空的,而给定的值不是(在URL末尾连接)。

控制器存储方法(我真的是新手,在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]); 
} 

视图中的调用(我测试过的每一个变量,它们都是不为空,我需要在后的值是$ question-> id。“_”。$ survey-> id)。我已经使用相同的表单在同一个项目中发布更新到我的数据库对象,它的工作原理。我正在使用FormFacade扩展。 $问题是考虑到通过紧凑的观点,我有模型我的数据库表:

@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后的输出(\支持::输入())(我的额外参数):

array:1 [▼ 
"_token" => "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" 
] 

它的路线:

Route::post('admin/menu/questions/add/binding/{id}', '[email protected]'); 

我缺少的东西?我敢打赌这件事很容易,或者我只是打破了Laravel公约的一些内容。

回答

0

我有点困惑你在问什么。根据我的理解,您输出的dd(\Request::input())和路线是正确的,但我认为您的商店方法是错误的。您的商店方法必须如下所示:

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]); 
} 
相关问题