2010-12-31 5 views
0

Zend Framework를 사용하고 있습니다. 나는 나무 테이블을 가지고있다. 사용자 및 그룹 및 이들을 연결하는 하나의 테이블여러 행의 Zend_DB로 업데이트

주어진 그룹의 사용자로부터 입력란을 증가시키고 싶습니다. 한 명의 사용자를 늘리려면 다음을 입력하십시오.

$table = 'users'; 
$update = array(
    'ACLVersion' => new Zend_Db_Expr('ACLVersion + 1') 
); 
$where[] = $db->quoteInto('id = ?', $user); 
$db->update($table, $update, $where); 

여러 개의 wheres를 사용하려고했습니다.

나는 젠드 (Zend)가있는 곳에서 테이블을 조인하는 방법을 모른다.

답변

0

JOINZend_Db_Table과 함께 사용하려면 무결성 검사를 비활성화해야합니다.

ZF Reference Guide for Zend_Db_Table 예 번호 27를 참조하십시오

$table = new Bugs(); 
    // retrieve with from part set, important when joining 
    $select = $table->select(Zend_Db_Table::SELECT_WITH_FROM_PART); 
    $select->setIntegrityCheck(false) 
     ->where('bug_status = ?', 'NEW') 
     ->join('accounts', 'accounts.account_name = bugs.reported_by') 
     ->where('accounts.account_name = ?', 'Bob'); 
    $rows = $table->fetchAll($select); 

참고 무결성 검사를하지 않도록하는 것도 결과 레코드의 자동으로 자료의 일부 해제됩니다 :

결과 행 또는 행 집합이 될 것이다 은 이라는 의미의 '잠긴'행으로 반환되며 예외가 발생하면 save(), delete() 및 필드 설정 메서드가 발생합니다. 주어진 그룹

에서의 id의 배열

-1

로드 $ 인분 다음 코드는 일을 할 것입니다

$table = 'users'; 
$update = array(
    'ACLVersion' => new Zend_Db_Expr('ACLVersion + 1') 
); 
$where = $db->quoteInto('id IN (?)', $num); 
$db->update($table, $update, $where); 
관련 문제