array() ); SqlHelper::rawQueryPage( myself()->_getMySql(''), 'SELECT * FROM t_market WHERE activated=:activated', array( ':activated' => 1 ), array( 'page' => $page, 'perPage' => 8, 'filter' => array( 'data' => $queryData, 'fields' => array( array( 'name' => 'seller', 'field_name' => 'seller', 'cond' => '=', 'ignore_empty' => true, ), array( 'name' => 'type', 'field_name' => 'type', 'cond' => '=', 'ignore_empty' => true, ), array( 'name' => 'job_filters', 'field_name' => '', 'cond' => 'custom', 'ignore_empty' => true, 'custom_func' => function () use ($queryData) { $jobFilter = $queryData['job_filters']; $arrJobFilter = explode('|', $jobFilters); $jobs = implode($arrJobFilter); return " AND (state in (${jobs})) "; } ), array( 'name' => 'search_filters', 'field_name' => '', 'cond' => 'custom', 'ignore_empty' => true, 'custom_func' => function () use ($queryData) { $searchFilter = $queryData['search_filters']; $arrSearchFilter = explode('|', $searchFilters); } ), array( 'name' => 'lv_filter', 'field_name' => 'lv', 'cond' => '>=', 'ignore_empty' => true, ), array( 'name' => 'quality_filter', 'field_name' => 'quality', 'cond' => '>=', 'ignore_empty' => true, ), array( 'name' => 'durability_filter', 'field_name' => 'durability', 'cond' => '>=', 'ignore_empty' => true, ), array( 'name' => 'price_filter', 'field_name' => '', 'cond' => 'custom', 'ignore_empty' => true, 'custom_func' => function () use ($queryData) { $searchFilter = $queryData['search_filters']; $arrSearchFilter = explode('|', $searchFilters); } ), array( 'name' => 'amount_filter', 'field_name' => '', 'cond' => 'custom', 'ignore_empty' => true, 'custom_func' => function () use ($queryData) { $searchFilter = $queryData['search_filters']; $arrSearchFilter = explode('|', $searchFilters); } ) ) ), //'orderBy' => $orderBy, 'handle' => function ($row) { array_push($out['rows'], $this->fillNftIntro($row)); } ), $out['pagination'] ); myself()->_rspData($out); } private function fillNftIntro($row) { $info = array( 'order_id' => $row['order_id'], 'token_id' => $row['token_id'], 'nft_token' => $row['nft_token'], 'amount' => $row['amount'], 'seller' => $row['seller'], 'currency' => $row['currency'], 'price' => $row['update_price'] ? $row['update_price'] : $row['price'], 'selltime' => $row['selltime'], 'updatetime' => $row['createtime'], ); $nftDb = Nft::getNft($row['token_id']); if ($nftDb) { $nftDb['detail'] = Nft::toDto($nftDb); } return $info; } }