/**
  * フリーマーケット情報に紐づくフリーマーケット出店形態情報を取得する
  *
  * @access private
  * @param array $fleamarket_list フリーマーケット情報
  * @return array
  * @author ida
  */
 private function getFleamarketEntryStyle($fleamarket_list = array())
 {
     if (!$fleamarket_list) {
         return false;
     }
     $result = array();
     foreach ($fleamarket_list as $fleamarket) {
         $fleamarket_entry_styles = \Model_Fleamarket_Entry_Style::find('all', array('where' => array(array('fleamarket_id', $fleamarket['fleamarket_id'])), 'order_by' => array('entry_style_id')));
         $results = $this->createReservation($fleamarket_entry_styles);
         list($entry_styles, $total_reseved_booth, $total_booth) = $results;
         $fleamarket['total_reseved_booth'] = $total_reseved_booth;
         $fleamarket['total_booth'] = $total_booth;
         $fleamarket['entry_styles'] = $entry_styles;
         $result[] = $fleamarket;
     }
     return $result;
 }
 /**
  * フリマ出店形態情報を登録する
  *
  * @access private
  * @param object フリマ情報
  * @return void
  * @author kobayashi
  * @author ida
  */
 private function registerFleamarketEntryStyle($fleamarket)
 {
     $entry_styles = \Config::get('master.entry_styles');
     $fieldsets = $this->getFieldsets();
     foreach ($entry_styles as $id => $entry_style) {
         $fieldset = $fieldsets['fleamarket_entry_styles'][$id];
         $input = $fieldset->input();
         $fleamarket_entry_style = \Model_Fleamarket_Entry_Style::find('first', array('where' => array('fleamarket_id' => $fleamarket->fleamarket_id, 'entry_style_id' => $id)));
         $data = array('booth_fee' => $input['booth_fee'], 'max_booth' => $input['max_booth'], 'reservation_booth_limit' => $input['reservation_booth_limit']);
         if (strlen($input['booth_fee'])) {
             $administrator_id = $this->administrator->administrator_id;
             if ($fleamarket_entry_style) {
                 $data['updated_user'] = $administrator_id;
             } else {
                 $fleamarket_entry_style = \Model_Fleamarket_Entry_Style::forge(array('fleamarket_id' => $fleamarket->fleamarket_id, 'entry_style_id' => $id));
                 $data['created_user'] = $administrator_id;
             }
             $fleamarket_entry_style->set($data)->save();
         } else {
             if ($fleamarket_entry_style) {
                 $fleamarket_entry_style->delete();
             }
         }
     }
 }
use Model_User;
$item_categories = array('1' => 'リサイクル品', '2' => '手作り品');
$item_genres = \Model_Entry::getItemGenres();
$link_from_list = \Model_Entry::getLinkFromList();
$entry_statuses = \Model_Entry::getEntryStatuses();
$fleamarkets = \Model_Fleamarket::find('all', array('select' => array('fleamarket_id')));
$users = \Model_User::find('all', array('select' => array('user_id')));
for ($i = 1; $i < 1000; $i++) {
    $item_category = array_rand($item_categories);
    $item_genre = array_rand($item_genres);
    $link_from = array_rand($link_from_list);
    $entry_status = array_rand($entry_statuses);
    while (true) {
        $fleamarket_key = array_rand($fleamarkets);
        $fleamarket = $fleamarkets[$fleamarket_key];
        $fleamarket_entry_styles = \Model_Fleamarket_Entry_Style::find('all', array('select' => array('fleamarket_entry_style_id'), 'where' => array(array('fleamarket_id', $fleamarket->fleamarket_id))));
        if ($fleamarket_entry_styles) {
            $fleamarket_entry_style_key = array_rand($fleamarket_entry_styles);
            $fleamarket_entry_style = $fleamarket_entry_styles[$fleamarket_entry_style_key];
            break;
        }
    }
    $user_key = array_rand($users);
    $user = $users[$user_key];
    $data = array('user_id' => $user->user_id, 'fleamarket_id' => $fleamarket->fleamarket_id, 'fleamarket_entry_style_id' => $fleamarket_entry_style->fleamarket_entry_style_id, 'reservation_number' => str_pad($fleamarket->fleamarket_id, 5, "0", STR_PAD_LEFT) . '-' . str_pad($i, 5, "0", STR_PAD_LEFT), 'item_category' => $item_category, 'item_genres' => $item_genres[$item_genre], 'reserved_booth' => mt_rand(1, 3), 'link_from' => $link_from_list[$link_from], 'remarks' => '初めてフリマを予約します' . $i, 'entry_status' => $entry_status, 'created_user' => 0);
    $entry = \Model_Entry::forge($data);
    $entry->save();
}
// foreach ($seeds as $line) {
// $model = Model_Entry::forge($line);
// $model->save();
 /**
  * 出店予約情報の登録
  *
  * @access private
  * @param
  * @return object
  * @author kobayashi
  * @author ida
  */
 private function registerWaitingEntry()
 {
     $fleamarket_id = \Input::post('fleamarket_id');
     $fleamarket_entry_style_id = \Input::post('fleamarket_entry_style_id');
     $fleamarket_entry_style = \Model_Fleamarket_Entry_Style::find('first', array('where' => array('fleamarket_entry_style_id' => $fleamarket_entry_style_id, 'fleamarket_id' => $fleamarket_id)));
     if (!$fleamarket_entry_style) {
         return false;
     }
     $condition = array('user_id' => $this->login_user->user_id, 'fleamarket_id' => $fleamarket_id, 'fleamarket_entry_style_id' => $fleamarket_entry_style_id);
     $entry = \Model_Entry::findBy($condition);
     if ($entry) {
         $entry->set(array('entry_status' => Model_Entry::ENTRY_STATUS_WAITING, 'updated_user' => $this->login_user->user_id));
     } else {
         $entry = \Model_Entry::forge($condition);
         $entry->set(array('reservation_number' => '', 'entry_status' => Model_Entry::ENTRY_STATUS_WAITING, 'item_category' => '', 'item_genres' => '', 'reserved_booth' => 0, 'link_from' => '', 'remarks' => '', 'created_user' => $this->login_user->user_id));
     }
     $entry->save();
     return $entry;
 }