分享
  • 收藏
    X
    PHP利用Laravel ORM从Mysql读取存储json的字段,有的返回数组,有的返回字符串
    49
    0

    PHP利用Laravel ORM从Mysql读取存储json的字段,有的返回数组,有的返回字符串。

    public function index(){
            $this->checkPermission('applications/game/index');
            $games = Game::select('id','name','logo','languages','version','pay_configs','advertisement','link','disabled')->get();
            var_dump($games[0]['advertisement']);
            //string(78) "{"zh":"\u751f\u6b7b\2","en":"Battle 2","tr":"Battle 2"}"
            var_dump($games[0]['name']);die();
            //array(3) { ["zh"]=> string(13) "生死" ["en"]=> string(14) "Battle 2" ["tr"]=> string(14) "Battle 2" }
            return $this->success(['games' => $games]);
        }

    表结构如下:

    CREATE TABLE `games` (
      `id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
      `name` varchar(600) NOT NULL COMMENT '游戏名称 {"zh":"生死"}',
      `advertisement` text COMMENT '广告 {"zh":"生死广告"}',
      `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
      `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
      `deleted_at` datetime DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='游戏';

    存储在数据库的字段都是字符串的json,为什么一个字段的json取出自动变为数组,另一个字段的json取出还是个字符串?(数据库存储的两个字段内容中文都是unicode转义过的)

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    更多回答
    扫一扫访问手机版

    回答动态

    设计达人:发布了悬赏问题9414754预计能赚取 0积分收益
    ID也是麻烦事:发布了悬赏问题9414754预计能赚取 0积分收益
    视觉设计:发布了悬赏问题9414754预计能赚取 0积分收益
    爱素材:发布了悬赏问题9414754预计能赚取 0积分收益
    顺姐财姐:发布了悬赏问题9414754预计能赚取 0积分收益
    還好有妳、:发布了悬赏问题9414754预计能赚取 0积分收益
    傷感男丶:发布了悬赏问题9414754预计能赚取 0积分收益
    wcjadmin:发布了悬赏问题9414754预计能赚取 0积分收益
    ╰╮琉璃苣:发布了悬赏问题9414754预计能赚取 0积分收益
    第一财经:发布了悬赏问题9414754预计能赚取 0积分收益