2

我正在尝试将以下表单的数据插入不是“默认”数据库的表中。但是,我不知道该怎么做,我仍在适应 cakephp。我猜表格是正确完成的,并且数据库中特定表的名称是输入中的名称。但我不是说他应该插入哪个表吗?那不是必须的吗?或者如果需要,我缺少什么来指定我想要的表?

    <?php   echo $this->Form->create('Ficha', array('action' => 'index')); ?>
//echo $this->Form->input('id_fichas', array('label' => 'Id Ficha:'));
echo $this->Form->input('class_subst', array('label' => 'Class mistura:'));
echo $this->Form->input('simbolos_perigo', array('label' => 'Símbolos:'));
echo $this->Form->input('frases_r', array('label' => 'Frases:'));
echo $this->Form->end('Finalizar Ficha'); ?>
4

1 回答 1

1

按照惯例,表对象将使用与类名的小写和下划线版本匹配的表。在您的情况下,“Ficha”将映射到“fichas”表。如果你想要一个不同的表,你需要根据 CakePHP 版本定义它:

CakePHP 3.x

您可以使用setTable()方法指定表:

class Example extends Table {

    public function initialize(array $config) {
        $this->setTable('my_table');

        // Prior to 3.4.0 use 'table' method
        // $this->table('my_table');
    }
}

链接到3.x 文档

CakePHP 2.x

您的模型中的属性$useTable将发挥作用:

<?php
App::uses('AppModel', 'Model');

class Example extends AppModel {
   public $useTable = 'exmp'; // This model uses a database table 'exmp'
} 

链接到2.x 文档

于 2012-12-03T14:28:29.117 回答