Сохранить флажки в отдельную таблицу с помощью cakeStack Overflow

У меня есть места, где хранятся события и предметы, которые могут повлечь за собой плату.

В конце я хочу добавить пробел и возможные сборы, чтобы у меня была форма с несколькими флажками выбора для этих сборов.

Я хочу, чтобы он записал идентификатор пространства событий в столбец entity_event_spaces_id и записал сборы в столбец Facility_event_charges_id в моей таблице ‘event_charges’.

Это ничего не сохраняет в моей таблице, event_charges.
У меня может быть что-то неправильное в модели или контроллере или в обоих. У каких-нибудь гуру CakePHP есть предложения?

Мы работаем CakePHP 1.3. Спасибо!


<tr>
<td class="add">Charges:</td>
<td>
<?php echo $this->Form->input('charge', array('type'=>'select', 'multiple' => 'checkbox', 'options'=>$charges)); ?>
</td>
</tr>

введите описание изображения здесь


исходный вид формы добавления

<div class="checkbox"><input type="checkbox" name="data[FacilityEventSpace][charge][]" value="1" id="FacilityEventSpaceCharge1" /><label for="FacilityEventSpaceCharge1">Officials</label></div>
<div class="checkbox"><input type="checkbox" name="data[FacilityEventSpace][charge][]" value="2" id="FacilityEventSpaceCharge2" /><label for="FacilityEventSpaceCharge2">Ushers</label></div>
<div class="checkbox"><input type="checkbox" name="data[FacilityEventSpace][charge][]" value="3" id="FacilityEventSpaceCharge3" /><label for="FacilityEventSpaceCharge3">Additional Staffing</label></div>
<div class="checkbox"><input type="checkbox" name="data[FacilityEventSpace][charge][]" value="4" id="FacilityEventSpaceCharge4" /><label for="FacilityEventSpaceCharge4">Special Lighting</label></div>
<div class="checkbox"><input type="checkbox" name="data[FacilityEventSpace][charge][]" value="5" id="FacilityEventSpaceCharge5" /><label for="FacilityEventSpaceCharge5">Audio Visual Equipment</label></div>
<div class="checkbox"><input type="checkbox" name="data[FacilityEventSpace][charge][]" value="6" id="FacilityEventSpaceCharge6" /><label for="FacilityEventSpaceCharge6">Audio Visual Technician</label></div>

моя присоединенная таблица, которую я создал
СОЗДАТЬ СТОЛ event_charges (
id int (11) NOT NULL,
facility_event_spaces_id int (11) NOT NULL,
facility_event_charges_id int (11) NOT NULL,
ОСНОВНОЙ КЛЮЧ (id)
);


мои модели

<?php
class FacilityEventSpace extends AppModel {
var $name = 'FacilityEventSpace';
var $hasAndBelongstoMany = array('FacilityEventCharge' =>
array('className'    => 'FacilityEventCharge',
'joinTable' => 'event_charges',
'foreignKey'   => 'facility_event_spaces_id',
'associationForeignKey' => 'facility_event_charges_id',
'with' =>'EventCharge'
),
);
} // end Model
?>

<?php
class FacilityEventCharge extends AppModel {

var $name = 'FacilityEventCharge';

} // end Model
?>

<?php
class EventCharge extends AppModel
{
var $name = 'EventCharge';
} // end Model
?>

Мой контролер — считать, что это так

функция добавить

$this->set('charges', $this->FacilityEventCharge->find('list', array('fields' => array('id', 'type'))  ));
if (!empty($this->data)) {
if($this->FacilityEventSpace->save($this->data))
{

$this->flash('The event space has been saved.','/FacilityEventSpaces/');
return;
}
}

Кроме того, вот таблица entity_event_charges

введите описание изображения здесь

1

Решение

я нашел способ сохранить данные в отдельной таблице:

$maxId = $this->FacilityEventSpace->getMaxId();
// routines for Charges
$charges = $this->data['FacilityEventSpace']['charge'];
$n = 0;
foreach ($charges as $key => $cost) {

$charge = array('EventCharge'=>array(
'id'=>'',
'facility_event_spaces_id'=>$maxId[0][0]['max(id)'],
'facility_event_charges_id'=>$cost
)
);
$this->EventCharge->save($charge['EventCharge']);
$n = $n + 1;
} // end charges
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector