【发布时间】:2016-07-21 16:19:08
【问题描述】:
我有一些空间可以存放会产生费用的活动和物品。
在后端,我想添加一个空格和可能的费用,所以我有一个带有多个选择复选框的表单。
我希望它将事件空间 ID 写入到 facility_event_spaces_id 列,并将费用写入我的“event_charges”表中的 facility_event_charges_id 列。
它没有在我的表中保存任何东西,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>
我创建的 joinTable
创建表event_charges (
id int (11) 非空,
facility_event_spaces_id int(11) 非空,
facility_event_charges_id int(11) 非空,
主键 (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
?>
我的控制器 - facility_event_spaces_controller.php
功能添加
$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;
}
}
还有,这是 facility_event_charges 表
【问题讨论】:
标签: php cakephp checkbox has-and-belongs-to-many