2012-08-26 3 views
1

난 다음 DB 있습니다Datamapper ORM/CodeIgniter는 - - - 검증 관련


CREATE TABLE users 
(
id BIGINT NOT NULL AUTO_INCREMENT, 
PRIMARY KEY (id) 
); 

CREATE TABLE likes 
(
id BIGINT NOT NULL AUTO_INCREMENT, 
user_id BIGINT, 
idea_id BIGINT, 
PRIMARY KEY (id) 
); 

CREATE TABLE ideas 
(
id BIGINT NOT NULL AUTO_INCREMENT, 
PRIMARY KEY (id) 
); 

사용자 모델 :

// -------------------------------------------------------------------- 
// Relationships 
// -------------------------------------------------------------------- 

public $has_many = array('like' , 'idea' , 'comment'); 

// -------------------------------------------------------------------- 
// Validation 
// -------------------------------------------------------------------- 

var $validation = array(
    'username' => array(
     'label' => 'Username', 
     'rules' => array('required', 'trim', 'unique', 'min_length' => 3) 
    ), 
    'password' => array(
     'label' => 'Password', 
     'rules' => array('required', 'trim', 'min_length' => 3 ,'encrypt') 
    ) 
); 

생각 모델 :

을모델처럼

는 : 컨트롤러와 같은

// Relationships 
// -------------------------------------------------------------------- 

public $has_one = array('user' , 'idea'); 

// -------------------------------------------------------------------- 
// Validation 
// -------------------------------------------------------------------- 

var $validation = array(
    'user' => array(
     'rules' => array('required', 'unique_pair' => 'idea') 
    ), 
    'idea' => array(
     'rules' => array('required') 
    ) 
); 

$idea = new Idea(1); 

    $user = new User(1); 

    $like = new Like(); 

    if(!$like->save(array($idea , $user))) 
    { 
      echo $like->error->all; 
    } 
    else 
    { 
     echo "ok";  
    } 

문제는 내가 항상 확인을 얻고 좋아하는 데이터베이스에 저장하고 수행한다는 것이다 유효성이 확인되지 않습니다. 내가 원하는

답변

0

이 모델에 $model$table 속성을 추가 독특한 두 필드 (USER_ID, idea_id)이 지원의 관계를 얻을 수 있습니다. 확인한 후 foreign keys을 확인하십시오. 모델 이름은 단수, 테이블 이름은 복수형을 기억하십시오.

public $model = 'user'; 
public $table = 'users'; 

.... 
public function __construct($id = NULL) { 
    parent::__construct($id); 
}