2015-03-06 5 views
1

Im пытается хранить данные в этой таблице:получить правильный результат для вставки в базу данных - Laravel

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> 

Это результат их возвращения, когда io олько заполнить второй варианты газет и проверить его:

"comment" => array:2 [▼ 

    0 => "" 

    1 => "option 2" 

    ] 

    "article_id" => array:1 [▼ 

    0 => "1" 

    ] 

Проблема им с как можно я группа входные значения, так что я могу хранить его в моем столе. Значение моего флажка имеет значение article_id. и текстовое поле используется для заполнения комментария внутри базы данных.

Любая помощь с этим была бы принята с благодарностью!

+1

Какова цель 'data []' в текстовых полях? –

+0

Ну, есть несколько полей ввода, и я пытался сгруппировать текстовое поле с помощью флажка. – kazehaya

+0

Что вы получили, когда отправляете свою форму? Вы сделали print_r? Пожалуйста, сделайте 'print_r ($ _ POST)' и вставьте в вопрос, а также то, что вам нужно. –

ответ

0

Информация, которая отсутствует, чтобы правильно помещать эту информацию в базу данных, представляет собой сопоставление позиции массива со статьей_id.

E.g. поставил <input name="article[]" type="hidden" value="..."> в каждом <div class="newspaper-options">

Как так

<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> 

Тогда в вашем контроллере вы можете перебрать Input :: Get («статья»), проверьте активный флажок и добавить комментарий.

E.g.

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, как «активных» и изменений «данные» на «Комментарий».


Если вы можете добавить поля ввода с помощью клавиш, в первую очередь, вы сможете легко их обрабатывать. Я думаю, что можно сделать

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

Спасибо, сэр, теперь он работает! :) – kazehaya

Смежные вопросы