保存时从数组值中删除双引号-php

保存时从数组值中删除双引号-php,php,laravel-5,permissions,cartalyst-sentinel,Php,Laravel 5,Permissions,Cartalyst Sentinel,我有一个来自表单的数组,如下所示: array:4 [▼ "login-history.view" => "true" "login-history.create" => "true" "login-history.edit" => "true" "login-history.delete" => "true" ] 我想将其存储在数据库中,如下所示: { "login-history.view":true, //without double qoute

我有一个来自表单的数组,如下所示:

array:4 [▼
  "login-history.view" => "true"
  "login-history.create" => "true"
  "login-history.edit" => "true"
  "login-history.delete" => "true"
]
我想将其存储在数据库中,如下所示:

{
"login-history.view":true, //without double qoute in value true and false.
"login-history.create":true,
"login-history.edit":true,
"login-history.delete":true
}
但是,当我保存它时,它总是保存如下:

{
"login-history.view":"true", //I want to remove double quote around true and false for every value 
"login-history.create":"true",
"login-history.edit":"true",
"login-history.delete":"true"
}
我希望保存记录时不要在
值(true和false)
周围使用双qoute。我目前只是将值保存为雄辩的值保存

$permissions = $request->get('permissions');
$role = Sentinel::findRoleBySlug($slug); //slug is role slug ex. admin, manager, user
$role->permissions = $permissions;
$role->save()
我怎样才能做到呢

更新


我使用的是Laravel 5.4和mysql数据库,Cartalyst Sentinel软件包用于ACL

这是一种强力解决上述问题的方法

foreach($myArray as $key=>$value){
    $myArray[$key] = $value==='true' ? true : false;
}

你在使用什么数据库?在保存的地方发布更多的代码。
array\u walk($myArray,function(&$value){$value=='true'?true:false;})很好,它可以工作。你能解释一下为什么
$myArray[$key]=$value
?我们不能简单地使用
$value===
@vijayrana至少,你必须在foreach中这样做:
$myArray[$key]=$value==='true
。这在Terminus没有意义,
至少是什么意思?你能解释一下吗bit@vijayrana对不起,刚才的谈话。在本例中,这意味着您不需要
?真:假
零件。你不需要它,因为
$value===“true”
已经给你提供了true或false。你可以跳过true:false部分,我添加这一部分只是为了让它更易于解释,如果你想要的是简约主义,那么一行就足够了