我的db(水平表)中的一列具有JSON类型。
当我这样写一些查询
1) $levels = Levels::find()
->select("level_permissions")
->column();
2) $levels = Levels::find()
->select("level_permissions")
->all();
在第二版(2)中,我将在“引号”中获取json字符串 例如
"{\"name\":\"level_name\",\"active\":\"1\",\"level_administering_level_id\":\"1\"},\"LevelAccessPermission\":{\"31\":\"1\"}"
但是在第一(1)中我有错误 它返回
""{\"name\":\"level_name\",\"active\":\"1\",\"level_administering_level_id\":\"1\"},\"LevelAccessPermission\":{\"31\":\"1\"} ""
当我解码它时,我得到
array(1) { [0]=> string(584) "{"lev_name":"ssssssssss","lev_active":"1","lev_administering_level_id":"1"},"LevelAccessPermission":{"31":"1"}}"
问题在于引号。在第二个版本中,字符串用引号引起来,但是当我使用-> column()时,我有一些“”空的双引号,然后是json,然后是空的双引号。
为什么在列情况下?我在json前后获得双引号。我只有在使用yii2-> column()时才能使用它。
任何建议...您是否有这样的错误?有想法吗?