Русскоязычный форум, посвященный фреймворку Kohana
http://forum.kohanaframework.su/

ORM и checkbox
http://forum.kohanaframework.su/viewtopic.php?f=33&t=581
Страница 1 из 1

Автор:  merlin [ 07 мар 2013, 13:12 ]
Заголовок сообщения:  ORM и checkbox

Есть массив с выбранными checkboxsами
Нужно записать в таблицу subscriptions где два столбца
subscription_user_id и subscription_category
Я с ORM пытаюсь разобраться и попробовал сделать так


Код:
$categories_post = $_POST['category'];
$model = ORM::factory('subscription');

foreach($categories_post as $category_post)
{
   $model ->values(array('subscription_user_id' => $user_id, 'subscription_category' =>  $category_post));
}
$model->save();

Запись в таблице появляется одна сохраняется только последний элемент массива

Подскажите как сохранить все элементы ведь наверняка это просто )
Я что то туплю

Автор:  rain2 [ 08 мар 2013, 08:41 ]
Заголовок сообщения:  Re: ORM и checkbox

может метод. save в цикл вставить

Автор:  merlin [ 08 мар 2013, 13:49 ]
Заголовок сообщения:  Re: ORM и checkbox

Нет не получается

Автор:  merlin [ 09 мар 2013, 00:35 ]
Заголовок сообщения:  Re: ORM и checkbox

Получилось только так

Код:
$categories_post = $_POST['category'];
$model = ORM::factory('subscription');

foreach($categories_post as $category_post)
{
$model = ORM::factory('subscription')
   ->set('subscription_user_id', 1)
   ->set('subscription_category', $category_post)->save();
}

Автор:  Sergey [ 09 мар 2013, 10:10 ]
Заголовок сообщения:  Re: ORM и checkbox

Код:
<?php defined("SYSPATH") or die("No direct script access.");

$post = ORM::factory('subscription');

// Проходимся по массиву subscriptions
//
// в вашем представлении это должно быть что то вроде
// Form::checkbox('subscriptions['.$id.']', ..., ...)
foreach(array_keys($_POST['subscriptions']) as $subscription)
{
    $post->values(
        array(
          'subscription_user_id'  => $user_id,
          'subscription_category' => $category_post
        )
    );
}

try
{
    // Сохраняем значения
    $post->save();

    // Перенаправление и уведомление об успехе
}
catch (ORM_Validation_Exception $e)
{
    // Обработка ошибок
}

Автор:  merlin [ 11 мар 2013, 12:09 ]
Заголовок сообщения:  Re: ORM и checkbox

Sergey писал(а):
Код:
<?php defined("SYSPATH") or die("No direct script access.");

$post = ORM::factory('subscription');

// Проходимся по массиву subscriptions
//
// в вашем представлении это должно быть что то вроде
// Form::checkbox('subscriptions['.$id.']', ..., ...)


Наверняка ваше решение более грамотное я
боюсь показаться тупым, но что не понял, как пройтись по массиву)
На всякий случай inputы выкладываю, таких там несколько штук
Код:
<input type="checkbox" name="category[]" value="Категория такая">
<input type="checkbox" name="category[]" value="Категория сякая">

Не могли бы вы более подробно ответить заранее благодарю

Автор:  Sergey [ 12 мар 2013, 02:24 ]
Заголовок сообщения:  Re: ORM и checkbox

Совсем тонкостей ваших я не знаю,
но подозреваю, что в представлении вам нужно использовать примерно такой формат:
Код:
<?php foreach($categories as $id => $category): ?>
    <?php echo Form::checkbox('categories['.$id.']', $category, FALSE) . $category;  ?>
<?php endforeach; ?>


Далее при получении формы через $_POST в фориче проходитесь по массиву categories:
Код:
foreach(array_keys($_POST['categories']) as $category)
{
   ...
}

Страница 1 из 1 Часовой пояс: UTC + 4 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/