gpt4 book ai didi

php - Controller 可以查看相关字段,但在添加或编辑操作中不显示它

转载 作者:行者123 更新时间:2023-11-30 00:08:59 25 4
gpt4 key购买 nike

CakePhp 开发者您好,

CakePHP 2.5.2

我有一个带有协议(protocol)表的数据库。它属于成人、 child 、团体、价格和类(class)表。

我的 Controller 有 3 个操作:indexaddedit。第一个,index,工作正常,在一页中显示所有相关表。但问题在于编辑和添加操作。

我的 Controller 有相关数据的数组,其数组没有 child 、成人、团体等真实姓名。仅数字 1、2、3 等。

我的AgreementsController.php正在通过以下命令将数据发送到View:

$this->Agreement->recursive = 1;
$adults = $this->Agreement->Adult->find('list');
$childrens = $this->Agreement->Children->find('list');
$groups = $this->Agreement->Group->find('list');
$prices = $this->Agreement->Price->find('list');
$courses = $this->Agreement->Course->find('list');
$this->set(compact('adults', 'childrens', 'groups', 'prices', 'courses'));

我认为这个数组 $adults, $children 只有数字。为什么他们不检索真实的商品编号。我的协议(protocol)/add.ctp 是:

<?php echo $this->Form->create('Agreement'); ?>

<?php
echo $this->Form->input('date_of_agreement');
echo $this->Form->input('number');
echo $this->Form->input('year');
echo $this->Form->input('adult_id', array (
'type' => 'select',
'options' => $adults
)
);
print_r($adults);
echo $this->Form->input('children_id');
echo $this->Form->input('status_id');
echo $this->Form->input('city_id');
echo $this->Form->input('price_id');
echo $this->Form->input('course_id');
echo $this->Form->input('group_id');
?>

<?php echo $this->Form->end(__('Submit')); ?>

即使添加“选项”参数也不能解决问题。我已经花了 50 个小时,但我不知道为什么?

我检查了数组,它看起来像这样:数组 ( [1] => 1 [2] => 2 )

你能帮我解决这个问题吗?

最佳答案

在数据库表中重命名字段:

  • 成人名字 > 名字,
  • 成人姓氏 > 姓氏,
  • children_first_name > 名字,
  • children_last_name > 姓氏,
  • 群组 > 名称
  • ...

在您的模型中创建虚拟字段:

public $virtualFields = array(
'name' => "CONCAT(Adult.first_name, ' ', Adult.last_name)"
);

清除缓存并测试。

编辑

或者您可以在查找列表方法中添加选项,例如:

$adults = $this->Agreement->Adult->find('list',array(
'fields'=>array('Adult.id','Adult.first_name')
));

关于php - Controller 可以查看相关字段,但在添加或编辑操作中不显示它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24244297/

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