JSON代表bit / boolean field

时间:2016-09-15 02:15:13

标签: php laravel-5 laravel-5.2 laravel-5.1 laravel-5.3

{
  "Status": true,
  "Message": "Roles retrieved successfully",
  "Data": [
    {
      "RoleID": 1,
      "Role": "Super Admin",
      "IsPredefined": "1",
      "IsActive"    : "1",
    }
  ]
}

我以json格式获取上述结果。我使用下面的查询从MySql数据库中获取数据。

我使用的是模型,我的代码是:RoleModel::all()

我正在使用PHP-Laravel 5.3

有没有办法制作如下的结果集。

{
  "Status": true,
  "Message": "Roles retrieved successfully",
  "Data": [
    {
      "RoleID": 1,
      "Role": "Super Admin",
      "IsPredefined": true,
      "IsActive"    : true,
    }
  ]
}

问题出在IsPredefined中。我想检索它的布尔类型。在数据库中,它的类型为bit

2 个答案:

答案 0 :(得分:0)

也许您可以使用if()功能,所以

Select RoleID, Role, if(IsPredefined=1,'true','false') as IsPredefined form tblrole;

如果您使用的是Eloquent模型,则可以使用Accessors and Mutators,以便在您的雄辩模型中添加访问者方法。

public function getIspredefinedAttribute($value)
{
    return ($value==1)?true:false;
}

答案 1 :(得分:0)

Attribute Casting

我的模型如下所示

~/.bashrc

应该如下所示。

LD_LIBRARY_PATH
  

此外,数据库表必须具有数据类型=' BIT'对于布尔值   这样它可能只占用0或1个值。