如何使用PhalconPHP从sql表返回JSON数组

时间:2015-09-27 10:40:01

标签: phalcon

我有几个表,其中JSON数组存储在字段中。

使用PHP PDO我可以使用以下方法检索此数据:

$result = Modulesettings::findFirst( array( 
    'conditions' => 'project_token = "' . $token . '"' , 
    'columns' => 'settings' 
) );

var_dump($result);

返回如下字符串: { “中间”: “”, “模块id”: “1”, “force_reg_enable”: “1”, “force_reg_page_delay”: “2”}

尝试通过PhalconPHP收集相同的数据

object(Phalcon\Mvc\Model\Row)#61 (1) { ["settings"]=> string(167) "{"text":"<\/a>

<\/a>
","class":""}" }

提供

的结果
int32_t sx=x;

在Phalcon中我需要做些什么才能返回存储在表中的字符串?

谢谢。

2 个答案:

答案 0 :(得分:4)

你有2个方法
第一:
获取此结构的设置:

$settings = $result->settings;
var_dump($settings);

第二:
首先从resultset获取数组,然后使用数组元素:

$res = $result->toArray();
var_dump($res['settings']);

试试吧。

答案 1 :(得分:1)

您可以在Modulesettings模型声明中解码json:

// handling result
function afterFetch() {
    $this->settings = json_decode($this->settings);
}

// saving. Can use beforeCreate+beforeSave+beforeUpdate
// or write a Json filter.
function beforeValidation() {
    $this->settings = json_encode($this->settings);
}