#!/usr/bin/env php id->range('1-10'); $table->name->range('测试透视表{1-10}'); $table->fields->range('{"field1":"value1","field2":"value2"}'); $table->filters->range('{"filter1":"value1","filter2":"value2"}'); $table->sql->range('SELECT * FROM table{1-10}'); $table->desc->range('描述{1-10}'); $table->gen(5); // 3. 用户登录 su('admin'); // 4. 创建测试实例 $pivotTest = new pivotTest(); // 创建测试用的pivot对象 $pivot1 = new stdClass(); $pivot1->fields = '{"field1":"value1","field2":"value2"}'; $pivot1->filters = '["filter1","filter2"]'; $pivot1->sql = 'SELECT * FROM test_table'; $pivot1->name = '测试透视表'; $pivot1->empty_field = ''; $pivot2 = new stdClass(); // 这个对象没有fields属性 // 5. 测试步骤 r($pivotTest->getFieldsFromPivotTest($pivot1, 'sql', 'default_sql')) && p() && e('SELECT * FROM test_table'); // 步骤1:获取存在的字符串字段 r($pivotTest->getFieldsFromPivotTest($pivot1, 'fields', array(), true, false)) && p('field1') && e('value1'); // 步骤2:获取JSON字段并解码为对象 r($pivotTest->getFieldsFromPivotTest($pivot1, 'filters', array(), true, true)) && p('0') && e('filter1'); // 步骤3:获取JSON字段并解码为数组 r($pivotTest->getFieldsFromPivotTest($pivot2, 'nonexistent', 'default_value')) && p() && e('default_value'); // 步骤4:获取不存在的字段 r($pivotTest->getFieldsFromPivotTest($pivot1, 'empty_field', 'default_for_empty')) && p() && e('default_for_empty'); // 步骤5:获取空字段