gpt4 book ai didi

php - 保存依赖下拉列表的数据 - Yii

转载 作者:行者123 更新时间:2023-11-29 00:23:14 25 4
gpt4 key购买 nike

我正在实现一个依赖下拉列表,并希望将他们的 ID 保存在表 CANDIDATE 中。
我有一个名为 CENTER 的表,它有两列 ID,NAME。
我的另一个表是 DISTRICT,它包含三列 ID、NAME 和 CENTER_ID。
通过选择 CENTER ,我填充了 DISTRICT 下拉列表,但 district_id 没有保存在表 CANDIDATE 中。

_form

<div class="row">
<?php echo $form->labelEx($model, 'district_id'); ?>
<?php

$dist = CHtml::listData(Center::model()->findAll(array('order' => 'id')), 'id', 'name');
echo $form->dropDownList($model, 'center_id', $dist, array(
'prompt' => '–select district–',
'ajax' => array('type' => 'POST',
'url' => CController::createUrl('candidate/districts'),
'update' => '#center_id',

)

));
?>
<?php
echo CHtml::dropDownList('center_id','', array());
?>
</div>

候选 Controller

 public function actionDistricts() {
$centers = District::model()->findAll('center_id =:id', array(':id' => (int) $_POST['Candidate']['center_id']));
$return = CHtml::listData($centers, 'id', 'name');
foreach ($return as $centerId => $centerName) {
echo CHtml::tag('option', array('value' => $centerId), CHtml::encode($centerName), true);
}
}

最佳答案

1) 似乎您的网址未正确创建:

'url' => CController::createUrl('districts')

尝试:

'url' => CController::createUrl('candidate/districts')

2) 您发布的表单:

$form->dropDownList($model, 'district_id', $dist...

它将 district_id 发布到 CandidateController/actionDistricts(),您可以在其中执行以下操作:

 $centers = Center::model()->findAll('id=:id', array(':id' => (int) $_POST['Candidate']['center_id']));

我看不到任何包含 center_id 的输入,此外,如果您按主键 (id) 搜索,触发 Center::model()->findAll('id:id'..) 没有任何意义,做 Center::model()->findByPk($id);

无论如何,回到问题上来,你的 Firebug 日志说明了一切,它无法从 $_POST 变量中读取 center_id,所以要完成它,请尝试重写 actionDistricts()。

我猜不出你的数据库有什么样的关系(一个区,每个 1 个中心?),所以我无法在这里完全解决问题。但是你应该重写

$centers = Center::model()->findAll('id=:id', array(':id' => (int) $_POST['Candidate']['center_id']));

到期望 $_POST['Candidate']['district_id'] 的东西。

关于php - 保存依赖下拉列表的数据 - Yii,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20271996/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com