2012-11-03 2 views
1

SocialEngine에서 _users 테이블에 액세스 할 때 (간단한?) 문제가 발생했습니다. SE4의 테이블을 액세스하기 위해이 사용SocialEngine의 _users 테이블에 액세스 하시겠습니까?

$table = Engine_Api::_()->getDbTable(tablename,tablegroup); 

을하고이 _user_online을 위해 잘 작동 (-> getDbTable ('온라인', '사용자') 등)하지만 난 _users에 액세스하는 방법을 모른다 테이블 (테이블 그룹 접두사가 없음).

제가 시도 :

  • -> getDbTable ('사용자')
  • -> getDbTable ('가', '사용자')
  • -> getDbTable (NULL '사용자')
  • -> getDbTable ('foo', 'what_a')

어쨌든.

어떤 도움이 필요합니까?/

ty!

답변

2

Engine_Api::_()->getItemTable('user');

난 당신이 질문에 이런 종류의 대답을 찾을 SocialEngine 공장 코드를 읽으십시오.

+0

예! 그래, 네가 옳은 사람이지만 때로는 코덱스없이 지저분 해! 이걸 어디에서 발견해야합니까? –

+0

내가 말한 것처럼 공장 코드를 읽고 사용자 테이블에서 데이터를 검색하는 방법을 확인하십시오. – Salman

+0

이러한 공장 코드는 어디에서 얻을 수 있습니까? –

0

시도해보십시오.

$query=Engine_Db_Table::getDefaultAdapter()->select() 
       ->from('engine4_yourtablename') 
       ->where("your_field_name = ?", $variable)->limit(1); 

       $query= $query->query()->fetch(); 

희망이 도움이 될 것입니다.

+0

이것은 코드의 그 시점에서 또 다른 SQL 쿼리를 발생시키는 가장 좋은 아이디어는 아닙니다. Zend는 API를 사용하여 지능적으로 쿼리를 그룹화하므로 데이터베이스 호출이 줄어 듭니다. –

1

당신이 누락 쉼표

$ 테이블 = Engine_Api :: _() 시도 -> getDbTable ('사용자', '사용자');

사용자 테이블 개체를 제공합니다. 이

1

당신은 "engine4_users"테이블 오브젝트를 얻기 위해이 방법을 아래에 사용할 수 있습니다 도움이되기를 바랍니다 :

1) $ USERTABLE = Engine_Api :: _() -> getItemTable ('사용자);

2) $ userTable = Engine_Api :: _() -> getDbTable ('users', 'user');

+0

두 가지 방법의 차이점은 무엇입니까? –

+1

출력 측면에서 차이점이 없으며 둘 다 User_Model_DbTable_Users 클래스의 동일한 개체를 반환합니다. 하나의 차이점은 getItemTable은 "application/modules/User/manifest.php"에 정의 된 항목을 사용하여 호출되고 getDbTable은 테이블 이름을 사용한다는 것입니다. 자세한 내용은 파일 경로 "application/libraries/Engine/Api"에서 getItemTable 메소드를 확인할 수 있습니다.php "및 getDbTable 메소드를 파일 경로"application/libraries/Engine/ServiceLocator/Backend/DbTable.php "에 추가하십시오. –