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

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...