#!/usr/bin/env php expr = array(); $expr1 = new stdclass(); $expr1->expr = 'id'; $expr1->alias = ''; $statement1->expr[] = $expr1; $expr2 = new stdclass(); $expr2->expr = 'name'; $expr2->alias = ''; $statement1->expr[] = $expr2; r($biTest->getFieldsTest($statement1)) && p('id,name') && e('id,name'); // 测试2:空statement对象处理 - expr为null时返回空数组 $statement2 = new stdclass(); $statement2->expr = null; r($biTest->getFieldsTest($statement2)) && p() && e('0'); // 测试3:带表前缀字段解析 - 有点前缀的字段,别名为点后面的部分 $statement3 = new stdclass(); $statement3->expr = array(); $expr3 = new stdclass(); $expr3->expr = 'u.id'; $expr3->alias = ''; $statement3->expr[] = $expr3; $expr4 = new stdclass(); $expr4->expr = 'u.account'; $expr4->alias = ''; $statement3->expr[] = $expr4; r($biTest->getFieldsTest($statement3)) && p('id,account') && e('u.id,u.account'); // 测试4:带别名字段解析 - 使用alias作为key,原字段名作为value $statement4 = new stdclass(); $statement4->expr = array(); $expr5 = new stdclass(); $expr5->expr = 'id'; $expr5->alias = 'user_id'; $statement4->expr[] = $expr5; $expr6 = new stdclass(); $expr6->expr = 'account'; $expr6->alias = 'username'; $statement4->expr[] = $expr6; r($biTest->getFieldsTest($statement4)) && p('user_id,username') && e('id,account'); // 测试5:SELECT *字段解析 - *字段原样处理 $statement5 = new stdclass(); $statement5->expr = array(); $expr7 = new stdclass(); $expr7->expr = '*'; $expr7->alias = ''; $statement5->expr[] = $expr7; r($biTest->getFieldsTest($statement5)) && p('*') && e('*'); // 测试6:空expr数组处理 - expr为空数组时返回空数组 $statement6 = new stdclass(); $statement6->expr = array(); r($biTest->getFieldsTest($statement6)) && p() && e('0');