gpt4 book ai didi

php - 如何在 CakePHP 中将 staff_name 列保存为其他列?

转载 作者:行者123 更新时间:2023-11-30 21:27:24 26 4
gpt4 key购买 nike

我正在制作分类帐应用程序来完成文书工作。

但是做简单的CRUD,有一个问题。

其他栏目都可以,但有一栏无法保存。

你要不要看看这个?

我只是在添加、编辑、删除和查看 ctp 文件作为生成的烘焙命令。

Controller也是通过bake命令制作的。

我只是将 POST 方法更改为 GET 方法。

尝试过

  • 重新制作表格列,确保我使用的是正确的名称。
  • 确保我使用了正确的蛋糕语法。
  • 在实体中添加可访问性
    protected $_accessible = [
'*' => true
];

添加.ctp

<div class="ledgers form large-9 medium-8 columns content">
<?= $this->Form->create($ledger) ?>
<fieldset>
<legend><?= __('Add Ledger') ?></legend>
<?php
$men = [
'Fukuda','Hayasi','Seki','Kubo'
];
$work_category = [
'preview','build','repair','etc'
];

echo $this->Form->control('customer_name');
echo $this->Form->control('customer_adress');
echo $this->Form->control('customer_tel1');
echo $this->Form->control('customer_tel2');

// need arr, $members = [hukuda, hayasi,ryo]
echo $this->Form->control('staff_name',
['options' => $men,
]);
echo $this->Form->control('work_category',
['options' => $work_category,
]);
echo $this->Form->control('content');
echo $this->Form->control('reserved');
?>
</fieldset>
<?= $this->Form->button(__('Submit')) ?>
<?= $this->Form->end() ?>
</div>

我想制作选择表单来限制类别。

账本 Controller .php

    public function edit($id = null) {
// return the GET data (in url)
$ledger = $this->Ledgers->get($id);

// this is POST only -------------
if ($this->request->is(['patch', 'post', 'put'])) {

$ledger = $this->Ledgers->patchEntity(
$ledger, $this->request->getData());
if ($this->Ledgers->save($ledger)) {
$this->Flash->success(
__('The ledger has been saved.'));

return $this->redirect(
['action' => 'index']);
}
$this->Flash->error(
__('The ledger could not be saved.'));
}
// POST
$this->set(compact('ledger'));
}

数据库

MariaDB [fesa]> desc ledgers;
+-----------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| customer_name | varchar(64) | NO | | NULL | |
| customer_adress | text | NO | | NULL | |
| customer_tel1 | varchar(64) | NO | | NULL | |
| customer_tel2 | varchar(64) | NO | | NULL | |
| work_category | varchar(255) | NO | | NULL | |
| content | text | NO | | NULL | |
| created | date | NO | | NULL | |
| reserved | date | NO | | NULL | |
| modified | date | NO | | NULL | |
| staff_name | varchar(64) | YES | | NULL | |
+-----------------+--------------+------+-----+---------+----------------+
11 rows in set (0.00 sec)

所有代码都在这里

https://github.com/kaede0902/cake3/tree/master/ledger/src

最佳答案

试试这个选择选项可能会有帮助。

添加.ctp

<div class="ledgers form large-9 medium-8 columns content">
<?= $this->Form->create($ledger) ?>
<fieldset>
<legend><?= __('Add Ledger') ?></legend>
<?php

echo $this->Form->control('customer_name');
echo $this->Form->control('customer_adress');
echo $this->Form->control('customer_tel1');
echo $this->Form->control('customer_tel2');
echo $this->Form->control('staff_name', [
'type' => 'select',
'placeholder' => __('staff_name'),
'label' => __('staff_name'),
'empty' => __('(Choose Type)'),
'value' => $ledger->staff_name,
'options' => [
['value' => 'Fukuda', 'text' => __('Fukuda')],
['value' => 'Hayasi', 'text' => __('Hayasi')],
['value' => 'Seki', 'text' => __('Kubo')],
['value' => 'Kubo', 'text' => __('Kubo')]
]
]);

echo $this->Form->control('work_category ', [
'type' => 'select',
'placeholder' => __('work_category '),
'label' => __('work_category'),
'empty' => __('(Choose Type)'),
'value' => $ledger->work_category ,
'options' => [
['value' => 'preview', 'text' => __('preview')],
['value' => 'build', 'text' => __('build')],
['value' => 'repair', 'text' => __('repair')],
['value' => 'etc', 'text' => __('etc')]
]
]);
echo $this->Form->control('content');
echo $this->Form->control('reserved');
?>
</fieldset>
<?= $this->Form->button(__('Submit')) ?>
<?= $this->Form->end() ?>

这种样式也可以帮助您轻松编辑。

关于php - 如何在 CakePHP 中将 staff_name 列保存为其他列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58221773/

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