• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.

What does getTablesDataFromArray in the DataWriter do?

Robust

Well-known member
#1
What does getTablesDataFromArray do? I don't really understand its purpose. The tables data is already given if you do getForumById, for example, so why do this?

e.g. from XenForo_DataWriter_Forum:
Code:
    protected function _getExistingData($data)
    {
        if (!$nodeId = $this->_getExistingPrimaryKey($data))
        {
            return false;
        }

        $forum = $this->getModelFromCache('XenForo_Model_Forum')->getForumById($nodeId);
        if (!$forum)
        {
            return false;
        }

        return $this->getTablesDataFromArray($forum);
    }
 

Chris D

XenForo developer
Staff member
#2
A single DataWriter can support writing to, and returning data from, more than one table e.g. the user DW supports xf_user, xf_user_profile etc. and the forum DW supports xf_forum and xf_node.

That function arranges the data returned from the query (which may include data from more than one table via joins) into an array grouped by the table it came from.
 
Top