Redbean:如何使用带有json解码输入的R :: graph()

时间:2013-03-17 19:55:34

标签: redbean

认为我正在使用Redbean 3.3.7(网站上的一体化下载),但我在代码中找不到版本号。 我收到一些json编码的数据,并希望用R :: graph()处理它,但是我收到了一个错误。

$json = '{"id": "","title": "Test Article","slug": "test-article","content": "<p>This is a test article</p>"}';

$decoded = json_decode($json, true);

这给了我一个数组

var_dump($decoded)

array(4) {
  ["id"]=>
  string(0) ""
  ["title"]=>
  string(12) "Test Article"
  ["slug"]=>
  string(12) "test-article"
  ["content"]=>
  string(29) "<p>This is a test article</p>"
}

另外

echo gettype($decoded);

返回“array”。

但是当我尝试这个时:

$bean = R::graph($decoded);

我收到RedBean_Exception_Security错误消息“Expected array but got:string”; rb.php第9029行

我做错了什么? 更重要的是,我该如何解决?

感谢。

1 个答案:

答案 0 :(得分:1)

根据文档“数组必须包含一个名为'type'的键,其中包含它所代表的bean的类型”。所以我只需要在调用R :: graph()之前添加$ decoding ['type'] ='table_name'。如果我在我提交的表单中添加名为“type”的隐藏字段,它也可以工作。

<input type="hidden" name="type" value="table_name" />