微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – Phalcon保存不工作

我是Phalcon的新手,我非常喜欢它,目前正在研究我的第一个项目,但是我现在遇到了ORM的一个问题.

我似乎无法拯救.

我的用户模型目前有一个简单的表设置

id(int,PK)
名字(字符串)
用户名(字符串)
电邮(字符串)
活动(int)
createdDate(int)

我的模型使用注释策略将这些定义为属性

<?PHP

/**
 * Users class
*
* Represents Holla users
*
 */
class Users extends Phalcon\Mvc\Model
{

/**
 * @Primary
 * @Identity
 * @Column(type="integer",nullable=false)
 */
public $id;

/**
 * @Column(type="string",length=70,nullable=false)
 */
public $name;

/**
 * @Column(type="string",nullable=false)
 */
public $username;

/**
 * @Column(type="string",length=256,nullable=false)
 */
public $password;

/**
 * @Column(type="integer",nullable=false)
 */
public $active;

/**
 * @Column(type="integer",nullable=false)
 */
public $createdDate;

我的初始化有以下几点:

public function initialize()
{

    $this->setSource('users');
    $this->hasManyToMany('id','UsersAttributes','userId','attributeId','Attributes','id',array('alias' => 'attributes'));
    $this->hasMany('id','Status','userId');
    $this->hasMany('id','UsersNeighbors','UsersFriends','UsersNeighborhoods','userId');

}

然后我有一个简单的注册表单,我指向我的一个控制器中的一个方法,我做了一些cvalidation,然后尝试进行保存:

$user = new Users();

        $user->name = $name;
        $user->username = strtolower(str_replace(' ','',$name));
        $user->password = $this->security->hash($password);

        if($user->save())
        {

            $this->flash->success('Registered successfully!');

            $this->session->set('auth',array(
                'id' => $user->id,'name' => $user->name
            ));

            return $this->response->redirect('user/home');

        }
        else
        {

            $this->flash->error('An error occured,unable to register');

            return $this->response->redirect('');

        }

我已经设置了探查器以保存到日志中,当我进行注册时似乎发生的一切是:

[Wed,16 Jul 14 21:46:44 +0000][INFO] SELECT IF(COUNT(*)>0,1,0) FROM `informatION_SCHEMA`.`TABLES` WHERE `TABLE_NAME`='users'
[Wed,16 Jul 14 21:46:44 +0000][INFO] DESCRIBE `users`

然后它只是通过闪存错误“发生错误”将我引导到主视图,因为我已经在上面定义了所以我有点卡住为什么它不是创建新用户而只是在用户保存时返回false .

提前致谢

使用$user-> getMessages()检查错误总是有助于调试$model-> save()的错误.

更多信息:http://docs.phalconphp.com/en/latest/reference/models.html#creating-updating-records

原文地址:https://www.jb51.cc/php/138133.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐