【问题标题】:Post/input dynamic fields in Laravel在 Laravel 中发布/输入动态字段
【发布时间】:2016-01-20 11:59:07
【问题描述】:

我正在构建一个任务方案,其中显示几个用户,每个用户在一周内获得自己的任务列表。 任务将显示在字段中,因此用户始终可以更改它。我还在使用动态表单在一周内为用户添加或删除任务。 对于动态表单,我为每个表单使用相同的名称。

我的代码如下所示:

<form onLoad="defaultValue" role="form" method="post" action="{{ route('addTasks') }}">
    <input type="hidden" name="uid" value="{{ $user->id }}">
    <input type="hidden" name="week" value="{{$weekshow}}">
    <input type="hidden" name="year" value="{{ $jaar }}">
    <div class="inputs">
        @foreach($tasks as $task)
            @if($task->user_id == $user->id)
                <div class="col-md-9">
                    <input id="taskfield" name="dynamic[]" value="{{ $task->name }}" class="form-control field" onchange="update('tasks',1,'name')" type="text">
                     /* More inputs from dynamic form will be placed here.*/
                </div>
            @endif
        @endforeach
    </div>
    <button name="submit" class="submitbutton btn btn-info submit" value="Opslaan" type="submit">Opslaan</button>
</form>

当用户添加动态表单时,它会被放在第一个里面 class="col-md-9" 的下面。动态输入为:

<input name="dynamic[]" class="form-control field" type="text">

为了保存我在控制器中使用的数据:

$takenvdweek = $_POST['dynamic'];
    foreach($takenvdweek as $taakvdweek) {
        DB::insert('insert into tasks values (name, user_id, week, year)', array($taakvdweek, $_POST['uid'], $_POST['week'], $_POST['year']));
    }

    return redirect()->route('project')->with('message', 'Taken opgeslagen!');

但是当我尝试时,我收到以下错误:

插入值列表与列列表不匹配:1136 列计数与第 1 行的值计数不匹配

我做错了什么,我的代码是否可用?

【问题讨论】:

    标签: php mysql laravel dynamic


    【解决方案1】:

    更改你的DB::insert,语法不正确:

    DB::insert('insert into tasks (name, user_id, week, year) values (?, ?, ?, ?)', array($taakvdweek, $_POST['uid'], $_POST['week'], $_POST['year']))
    

    【讨论】:

    • 愚蠢的是我还没有看到它。谢谢!
    猜你喜欢
    • 2012-12-25
    • 2021-08-13
    • 1970-01-01
    • 2015-12-27
    • 2020-01-12
    • 2014-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-26
    相关资源
    最近更新 更多