我有几个表,其中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中我需要做些什么才能返回存储在表中的字符串?
谢谢。
答案 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);
}