我认为我正在使用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行
我做错了什么? 更重要的是,我该如何解决?
感谢。
答案 0 :(得分:1)
根据文档“数组必须包含一个名为'type'的键,其中包含它所代表的bean的类型”。所以我只需要在调用R :: graph()之前添加$ decoding ['type'] ='table_name'。如果我在我提交的表单中添加名为“type”的隐藏字段,它也可以工作。
<input type="hidden" name="type" value="table_name" />