Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
蛋糕烘焙,如何将创建的日期添加到SQL?_Sql_Cakephp - Fatal编程技术网

蛋糕烘焙,如何将创建的日期添加到SQL?

蛋糕烘焙,如何将创建的日期添加到SQL?,sql,cakephp,Sql,Cakephp,我觉得人们误解了我的问题 显然我看到了 $this->User->save($this->request->data) 但是模型中没有任何东西可以节省当前时间,cakephp怎么知道这样做呢?是不是在读sql时说,嗯,这表示在保存时创建了我将添加一个日期,这是怎么回事 所有这些代码都是通过终端烘焙蛋糕生成的,我只是想学习和修改一下 蛋糕是如何保存创建日期的?这行代码在哪里 我的sql设置如下 id int(10) 电子邮件varchar(64) 用户名varchar(50) 密码varchar(

我觉得人们误解了我的问题

显然我看到了 $this->User->save($this->request->data) 但是模型中没有任何东西可以节省当前时间,cakephp怎么知道这样做呢?是不是在读sql时说,嗯,这表示在保存时创建了我将添加一个日期,这是怎么回事

所有这些代码都是通过终端烘焙蛋糕生成的,我只是想学习和修改一下

蛋糕是如何保存创建日期的?这行代码在哪里

我的sql设置如下

id int(10)
电子邮件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');
    }
}