2014-07-16 23 views
8

Phalcon'a oldukça yeniyim, şu andaki ilk projemde çalışıyorum, ancak şu anda ORM ile ilgili bir sorunla karşılaşıyorum.Phalcon kaydetme çalışmıyor

Kaydedemiyorum.

Benim Kullanıcılar model şu anda basit bir tablo setup

id (int, PK) adı (string) kullanıcı adı vardır (string) e-posta (string) aktif (int) CreatedDate (int)

ve benim modeli bu açıklamalar strateji kullanarak özellikleri olarak tanımlamıştır:

<?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", length=70, 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; 

benim initialize aşağıdaki sahiptir:

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', 'userId'); 
    $this->hasMany('id', 'UsersFriends', 'userId'); 
    $this->hasMany('id', 'UsersNeighborhoods', 'userId'); 

} 

Sonra ardından kaydetmek yapmak girişiminde, ben bazı cvalidation yapmak benim denetleyicileri birinde bir yönteme işaret ediyorum basit bir kayıt formunu vardır:

 $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(''); 

     } 

Ben kurulum profilci bir günlüğüne kaydetmek ve ben bir kaydı yaptığınızda görünüyor hiç olur: Ben ettik olarak flaş hata ile ana görünümüne

Sonra
[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` 

sadece portları geçmeme "bir hata oluştu" de Bu yüzden yeni bir kullanıcı yaratmadığı ve kullanıcı kaydetme konusunda yanlış geri döndüğü için takılıp kaldım. $user->getMessages() hep $model->save() nesi ayıklama yardımcı olan Hatalar denetleniyor peşin

+2

Kontrol '$ kullanıcı-> getMessages()': http://docs.phalconphp.com/en/latest/reference/models.html#creating-updating -records – jodator

+0

@jodator İşe yaradı ve işe yaradım, bir cevapta pop etmek istiyorum ve kabul edeyim. –

+1

Yardım ettiğine sevindim. Şimdiden teşekkürler :) – jodator

cevap

İlgili konular