如何扩展cakePHP项目,以便它可以在数据库中使用新字段?
我刚刚给出了一个CakePHP项目,我正在尝试扩展模型以包含一个新字段.我原来的开发人员已经不再可用了,我之前没有和CakePHP合作过.问题是所有其他字段都正确保存,但新字段被保存为空字符串.
数据库已扩展到包括新字段:
class_time varchar(30)
Run Code Online (Sandbox Code Playgroud)
我扩展了原始视图以支持新字段
<?=$form->input('release', array('type' => 'radio', 'legend' => false, 'div' => 'radio', 'options' => array('Agree' => 'Agree ', 'Disagree' => 'Disagree')))?>
<?=$form->input('class_time', array('type' => 'radio', 'legend' => false, 'div' => 'radio', 'options' => array('No preference' => 'No preference ', '6:00-8:30 P.M. ' => '6:00-8:30 P.M. ', '6:30-9:00 P.M.' => '6:30-9:00 P.M.')))?>
Run Code Online (Sandbox Code Playgroud)
就像我所知,该页面正确地呈现HTML
<div class="radio"><input type="hidden" name="data[Account][release]" id="AccountRelease_" value=""><input type="radio" name="data[Account][release]" id="AccountReleaseAgree" value="Agree"><label for="AccountReleaseAgree">Agree </label><input type="radio" name="data[Account][release]" id="AccountReleaseDisagree" value="Disagree"><label for="AccountReleaseDisagree">Disagree</label></div>
<div class="radio"><input type="hidden" name="data[Account][class_time]" id="AccountClassTime_" value=""><input type="radio" name="data[Account][class_time]" id="AccountClassTimeNoPreference" value="No preference"><label for="AccountClassTimeNoPreference">No preference </label><input type="radio" name="data[Account][class_time]" id="AccountClassTime6:00-8:30P.m." value="6:00-8:30 P.M. "><label for="AccountClassTime6:00-8:30P.m.">6:00-8:30 P.M. </label><input type="radio" name="data[Account][class_time]" id="AccountClassTime6:30-9:00P.m." value="6:30-9:00 P.M."><label for="AccountClassTime6:30-9:00P.m.">6:30-9:00 P.M.</label></div>
Run Code Online (Sandbox Code Playgroud)
但是当它保存时,它会保存"release"字段(和其他字段)的选择,而不是class_time.
我可以在cakePHP文档中找到app/models/account.php,我相信我需要定义新字段,但它只包含以下内容:
<?php
class Account extends AppModel {
var $name = 'Account';
}
?>
Run Code Online (Sandbox Code Playgroud)
这让我想知道原始开发者如何得到"发布"来保存,即使它似乎没有被定义.
有什么东西我缺少,或者仍然需要做?
Vin*_*ins 60
每当您对数据库进行任何更改时,请确保您的app/config/core.php文件调试值为2.Configure::write('debug', 2);
如果是0,则不会检测到数据库更改.
小智 5
每当您进行任何数据库更改时,请遵循以下步骤:
| 归档时间: |
|
| 查看次数: |
9955 次 |
| 最近记录: |