CakePHP 2如何创建表格?

时间:2017-05-15 01:14:44

标签: cakephp cakephp-2.0

我无法理解模型类如何在数据库中创建表。

如果我想要一个包含字段用户和密码的表,其中CakePHP是否定义了这些字段?在我看过的例子中,似乎这些字段在模型中得到验证。但他们在哪里定义或初始化?

感谢。

3 个答案:

答案 0 :(得分:2)

CakePHP模型不会为您创建数据库表。它们是访问您已创建的现有表的一种方法。如果您遵循CakePHP的命名约定,模型只会自动知道它们与哪些表相关;单数CamelCased模型名称与多个snake_cased表有关。

要创建数据库表,您可以手动执行此操作,也可以使用CakePHP模式来管理数据库结构。还有用于管理数据库结构更改的出色的CakeDC迁移插件。

在CakePHP中使用模型时,它可以通过在数据库表上运行SQL DESCRIBE查询来确定属于该模型的字段。这是使用Model::schema()方法完成的。 Cake缓存查询结果,因此不需要为此查询数据库。

答案 1 :(得分:0)

是的,当然,您可以使用其字段控制数据库的表,模型名称应与表名相同,在任何可以加载的控制器中

$this->loadModel('SomeModel') $mydata=$this->tableName->find('all'); $myuse =$this->set('myuse' , $mydata);

在您的视图中,视图的名称应与Controller的函数名称相同:

<h1> <?php echo $myuse['tableName']['fieldName]; ?></h1>

答案 2 :(得分:0)

不需要与数据库表相同的名称模型

就像我的表名是用户,我创建了一个模型用户

然后您可以使用模型&gt;中的用户模型定义此表user.php的

<?php
App::uses('AppModel', 'Model');
 class User extends AppModel
{
   public $name = 'User';
   public $useTable = 'users';
   public $primaryKey = 'id';
}