由于 rethinkdb 问题,尝试合并 2 个数组

问题描述

我正在尝试执行 2 个不同的 sql 命令,但由于它显示的速度(速度更快并且可以处理大量数据),我最近切换到 RethinkDB。

UPDATE => 好的,现在我才意识到,它向我展示了错误,但第一个数组,它让我获得了 address_id。看起来像是订单混乱。 Check the error message here

我遇到了连接或多个查询的问题。

我想要的原始sql语句是:

"SELECT payments.*,addresses.input_address,addresses.destination_address FROM payments,addresses WHERE addresses.callback_url = :callback_url AND payments.address_id = addresses.id AND payments.forwarded = 1"

但是使用 rethink github repo for PHP here,它并没有表明您可以使用 AND

这是我的 rethinkdb PHP 代码,我不得不分成 2 个不同的查询,然后我的想法是将它们合并到一个数组中,然后在那里施展魔法。

我现在的问题是它不允许我深入研究合并的数组以获取例如 address_id ... id 如果我尝试从第一个数组而不是第二个数组中抓取,则工作正常。

我收到通知:未定义索引:address_id

我用来尝试合并数组并在两个数组中挖掘以比较数据的完整代码

            function array_merge_alternating($array1,$array2)
            {
              $mergedArray = array();

              while( count($array1) > 0 || count($array2) > 0 )
              {
                if ( count($array1) > 0 )
                  $mergedArray[] = array_shift($array1);
                if ( count($array2) > 0 )
                  $mergedArray[] = array_shift($array2);
              }
              return $mergedArray;
            }

            $paymentsArray = \r\table('payments')->filter(\r\row('forwarded')->eq(1))->run($this->conn);
            $paymentsArrayDone = $paymentsArray->toArray();

            $addressesArray = \r\table('addresses')->filter(\r\row('callback_url')->eq(_get("callback")))->run($this->conn);
            $addressesArrayDone = $addressesArray->toArray();

            // Merge the 2 arrays
            $mergedArray = array_merge_alternating($addressesArrayDone,$paymentsArrayDone);

            $f = 0;
            foreach ($mergedArray as $arried) {

                $thisArray = (array)$arried;

                echo 'THE `id` is: '.$thisArray['id'];
                echo 'THE `address_id` is: '.$thisArray['address_id'];

                print_r($thisArray);

                if($thisArray['address_id'] == $thisArray['id']) {

                    echo '<pre>';
                    print_r($thisArray);
                    echo '</pre>';
                }

                $f++;
            }

有人知道吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)