Zend framework 访问SocialEngine中的用户表?
我在访问SocialEngine中的用户表时遇到了一个(简单?)问题。要访问SE4中的表,我使用以下方法: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(“”,“用户”) -
$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方法。