Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Zend framework 访问SocialEngine中的用户表?_Zend Framework_Social_Socialengine - Fatal编程技术网

Zend framework 访问SocialEngine中的用户表?

Zend framework 访问SocialEngine中的用户表?,zend-framework,social,socialengine,Zend Framework,Social,Socialengine,我在访问SocialEngine中的用户表时遇到了一个(简单?)问题。要访问SE4中的表,我使用以下方法: $table = Engine_Api::_()->getDbTable(tablename,tablegroup); 这对于_user_online(->getDbTable('online','user'))等很好,但我不知道如何访问_users表(它没有tablegroup前缀) 我试过: ->getDbTable('用户') ->getDbTable(“”,“用户”) -

我在访问SocialEngine中的用户表时遇到了一个(简单?)问题。要访问SE4中的表,我使用以下方法:

$table = Engine_Api::_()->getDbTable(tablename,tablegroup);
这对于_user_online(->getDbTable('online','user'))等很好,但我不知道如何访问_users表(它没有tablegroup前缀)

我试过:

  • ->getDbTable('用户')
  • ->getDbTable(“”,“用户”)
  • ->getDbTable(空,'users')
  • ->getDbTable('foo','what_a')
不可能

有什么帮助吗/

Engine\u Api:::u()->getItemTable('user')

我建议您阅读《社会发动机工厂代码》,找出此类问题的答案。

试试这一个

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

              $query= $query->query()->fetch();
希望这会有所帮助。

您缺少逗号

试试这个

$table=Engine_Api::\()->getDbTable('users','user')


它将为用户提供表对象。希望这将有所帮助

您可以使用以下两种方法获取“engine4_用户”表对象:

1) $userTable=Engine\u Api::\()->getItemTable('user')


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

是的!是的,你说得对,但是有时候没有抄本会很混乱!我应该在哪里找到这个?就像我说的,阅读工厂代码,看看它们是如何从用户表中检索数据的。尝试查找函数
getItemTable
的定义。您可以使用文件夹搜索或其他方法。一旦你阅读了一些代码,你就会知道该查看哪个类。这不是最好的主意,因为它会在代码中的那个点产生另一个SQL查询。通过使用API,Zend将智能地将查询分组在一起,从而减少数据库调用。这两种方法之间的区别是什么?在输出方面没有区别,两者都将返回User_Model_DbTable_Users类的相同对象。有一个区别是,getItemTable是使用在“application/modules/User/manifest.php”中定义的项调用的,而getDbTable则使用表名。有关更多详细信息,您可以查看文件路径“application/libraries/Engine/Api.php”中的getItemTable方法和文件路径“application/libraries/Engine/ServiceLocator/Backend/DbTable.php”中的getDbTable方法。