蛋糕烘焙,如何将创建的日期添加到SQL?
我觉得人们误解了我的问题 显然我看到了 $this->User->save($this->request->data) 但是模型中没有任何东西可以节省当前时间,cakephp怎么知道这样做呢?是不是在读sql时说,嗯,这表示在保存时创建了我将添加一个日期,这是怎么回事 所有这些代码都是通过终端烘焙蛋糕生成的,我只是想学习和修改一下 蛋糕是如何保存创建日期的?这行代码在哪里 我的sql设置如下 id int(10)蛋糕烘焙,如何将创建的日期添加到SQL?,sql,cakephp,Sql,Cakephp,我觉得人们误解了我的问题 显然我看到了 $this->User->save($this->request->data) 但是模型中没有任何东西可以节省当前时间,cakephp怎么知道这样做呢?是不是在读sql时说,嗯,这表示在保存时创建了我将添加一个日期,这是怎么回事 所有这些代码都是通过终端烘焙蛋糕生成的,我只是想学习和修改一下 蛋糕是如何保存创建日期的?这行代码在哪里 我的sql设置如下 id int(10) 电子邮件varchar(64) 用户名varchar(50) 密码varchar(
电子邮件varchar(64) 用户名varchar(50) 密码varchar(50) 角色varchar(20)
已创建日期时间
修改日期时间 这是我的模型
<?php
// app/Model/User.php
App::uses('AppModel', 'Model');
class User extends AppModel {
public $useTable = 'User'; //this decide the table used
public $validate = array(
'username' => array(
'required' => array(
'rule' => array('notEmpty'),
'message' => 'A username is required'
)
),
'email' => array(
'required' => array(
'rule' => array('notEmpty'),
'message' => 'A email is required'
)
),
'password' => array(
'required' => array(
'rule' => array('notEmpty'),
'message' => 'A password is required'
)
),
'role' => array(
'valid' => array(
'rule' => array('inList', array('admin', 'author')),
'message' => 'Please enter a valid role',
'allowEmpty' => false
)
)
);
}
我的看法
<div class="users form">
<?php echo $this->Form->create('User'); ?>
<fieldset>
<legend><?php echo __('Add User'); ?></legend>
<?php
echo $this->Form->input('username');
echo $this->Form->input('password');
echo $this->Form->input('role', array(
'options' => array('admin' => 'Admin', 'editor' => 'Editor', 'guest' => 'Guest')
));
?>
</fieldset>
<?php echo $this->Form->end(__('Submit')); ?>
</div>
<div class="actions">
<h3><?php echo __('Actions'); ?></h3>
<ul>
<li><?php echo $this->Html->link(__('List Users'), array('action' => 'index')); ?></li>
</ul>
</div>
当您使用以下行时
$this->User->save($this->request->data)
如果未设置“保存方法检查”(如果已创建和修改),则会在mysql查询执行之前将当前日期时间设置到其中。由于蛋糕烘焙时添加到模型中的时间戳行为(如果表中有已创建和修改的列),它会更新这些字段
您可以在此处找到更多信息:这个问题似乎与主题无关,因为它是关于请其他人为您阅读文档的。我阅读了文档,但没有说明。请看代码。提示:模型层。模型层中没有任何内容说明模型类。但软件如何知道这些是创建和修改的日期时间值?我没有在模型中设置它们?它们是否读取sql的列名并做出决定?它们由Cake自动添加,然后在创建/保存时自动更新。例如,如果添加DATETIME类型的名为“created”的可空字段,则在保存n时ew row Cake将自动保存该字段中的当前日期和时间。Cake bake将自动将“已创建”字段添加到它所创建的表中。它还将添加“已修改”字段-这将在现有记录发生更改时更新。我知道了,谢谢,我不知道。我正在学习,我只想知道发生了什么。
$this->User->save($this->request->data)
class ArticlesTable extends Table
{
public function initialize(array $config)
{
$this->addBehavior('Timestamp');
}
}