我正在尝试将以下表单的数据插入到不是“默认”数据库的数据库表中。但是,我不知道该怎么做,我仍然适应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'); ?>
答案 0 :(得分:1)
按照惯例,表对象将使用与类名称的下层和下划线版本匹配的表。在你的情况下,'Ficha'将被映射到'fichas'表。如果你想要一个不同的表,你需要根据CakePHP版本来定义它:
您可以使用 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 docs
模型中的 $ useTable 属性将起到魔力:
<?php
App::uses('AppModel', 'Model');
class Example extends AppModel {
public $useTable = 'exmp'; // This model uses a database table 'exmp'
}
链接到2.x docs