使用laravel 4将多行插入数据库表

时间:2014-03-31 16:02:52

标签: php jquery forms laravel

我是laravel 4的新手,所以请容忍我。我想将从create.blade.php文件获取的数据存储到控制器的store()方法中。但我对控制器部分一无所知。

这是我的create.blade.php文件

<p>
    <strong>Select No of Activites You Want To Fill Up:</strong>&nbsp;{{ Form:: select('noAct',array('1'=>1,'2'=>2,'3'=>3,'4'=>4,'5'=>5),'1',array('id'=>'noAct')); }}</strong>
</p>

<table class="table table-bordered">
    <tr>
        <th>SN</th>
        <th>Activity Description</th>
        <th>Unit</th>
        <th>Weightage</th>
        <th>Date</th>
        <th>100</th>
        <th>75</th>
        <th>50</th>
        <th><50</th>
    </tr>
    <!--form to insert the user data-->
    {{ Form::open(array('url'=>'it')) }}

    <tbody id="tbodyappend"></tbody>
    <tbody>
        <tr>
            <td colspan="9" style="text-align:center;">{{ Form::submit('Add Activity',array('class'=>'btn btn-primary')) }}</td>
        </tr>
    </tbody>
    {{ Form::close() }}
</table>

<script>
    $(document).ready(function() {

        function displayTable() {
            var noAct = $("#noAct").val();

            $("#tbodyappend").empty();
            //for loop to display the no of tables required
            for (var i = 0; i < noAct; i++) {
                //display the table
                $("#tbodyappend").append("<tr><td>" + (i + 1) + "</td><td><input type='text' name='activity_name[]' required /></td><td><input type='text' name='activity_unit[]' required style='width:40px;' /></td><td><input type='text' name='activity_weight[]' required style='width:40px;' /></td><td><input type='text' name='activity_date[]' required style='width:40px;' /></td><td><input type='text' name='performance1[]' required style='width:40px;' /></td><td><input type='text' name='performance2[]' style='width:40px;' /></td> <td><input type='text' name='performance3[]' style='width:40px;' /></td><td><input type='text' name='performance4[]' style='width:40px;' /></td></tr>");

            }
        }


        $("select").change(displayTable);

    }); 
</script>

所以,现在我想将数据发送到我的控制器并插入表中。所以,任何帮助对我都有很大的帮助。

您可以在http://jsfiddle.net/xn2GP/1/

看到我想要制作的类似表格

你可以看到我的粘贴:http://laravel.io/bin/RWXK

1 个答案:

答案 0 :(得分:0)

编辑(实际答案):避免在<form>内嵌套<table>,因为它在<input>内没有<form>,因此不会发送数据< /强>

您需要将输入保留在表单中。让我们说我想存一篇博文,我需要一个标题和正文:

{{ Form::open(array('url' => 'posts')) }}
    {{ Form::text('title') }}
    {{ Form::text('body') }}

    {{ Form::submit('Send') }}
{{ Form::close() }}

然后,我可以使用Input::get访问这些值并将它们插入到posts表中,如下所示:

class PostsController extends \BaseController {

    public store()
    {
        // perform validation if needed

        $new_post = Post::create(array(
            'title' => Input::get('title'),
            'body' => Input::get('body')
        ));
    }
}

class PostsController extends \BaseController {

    public store()
    {
        // perform validation if needed

        $new_post        = new Post;
        $new_post->title = Input::get('title');
        $new_post->body  = Input::get('body');

        $new_post->save();
    }
}