【问题标题】:get the right result for inserting into the database - Laravel获得插入数据库的正确结果 - Laravel
【发布时间】:2015-03-06 13:00:00
【问题描述】:

我正在尝试将数据存储在此表中:

newspaper_id

article_id

评论(字符串)

这就是我的 HTML 的样子:

<div class="newspaper-options">
    <input class="form-control" name="data[]" type="text">
    <input type="checkbox" class="article-option" name="article_id[]" value="3"> Active
</div>

<div class="newspaper-options">
    <input class="form-control" name="data[]" type="text">
    <input type="checkbox" class="article-option" name="article_id[]" value="1"> Active
</div>

这是我只填写第二个报纸选项并检查时得到的结果:

"comment" => array:2 [▼

    0 => ""

    1 => "option 2"

  ]

  "article_id" => array:1 [▼

    0 => "1"

  ]

我遇到的问题是如何对输入值进行分组,以便将其存储在我的表中。我的复选框的值是 article_id 的值。文本字段用于填充数据库内的评论。

对此的任何帮助将不胜感激!

【问题讨论】:

  • 文本字段中data[] 的用途是什么?
  • 嗯,有多个输入字段,我试图用复选框对文本字段进行分组。
  • 您在发布表单时得到了什么?你做过 print_r 吗?请print_r($_POST) 并粘贴问题以及您需要的内容。
  • @RaheelKhan 我已经编辑了我的帖子。
  • 他们不是已经分组了吗?

标签: php mysql forms laravel


【解决方案1】:

正确将该信息放入数据库中缺少的信息是数组位置到 article_id 的映射。

例如放 &lt;input name="article[]" type="hidden" value="..."&gt; 在每个&lt;div class="newspaper-options"&gt;

像这样

<div class="newspaper-options">
    <input name="article[]" type="hidden" value="3">
    <input class="form-control" name="data[]" type="text">
    <input type="checkbox" class="article-option" name="article_id[]" value="3"> Active
</div>

<div class="newspaper-options">
    <input name="article[]" type="hidden" value="1">
    <input class="form-control" name="data[]" type="text">
    <input type="checkbox" class="article-option" name="article_id[]" value="1"> Active
</div>

然后在你的控制器中你可以循环输入::get('article'),选中激活的复选框并添加评论。

例如

foreach(Input::get('article') as $pos => $article_id){
    if(in_array($article_id, Input::get('article_id')){
        add $article_id and Input::get('comment')[$pos] to DB
    }
}

除此之外,您应该为您的 article_id 字段取一个更好的名称,例如“active”并将“data”更改为“comment”。


如果您可以首先添加带有键的输入字段,则可以更轻松地处理它们。我想这是可能的

<input class="form-control" name="data[3]" type="text">
<input type="checkbox" class="article-option" name="article_id[3]" value="3"> Active

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-22
    相关资源
    最近更新 更多