Php 使用Codeigniter从MySql返回Fullcalendar.js allDay参数

Php 使用Codeigniter从MySql返回Fullcalendar.js allDay参数,php,mysql,json,codeigniter,fullcalendar,Php,Mysql,Json,Codeigniter,Fullcalendar,我正试图让FullCalendar在我的Codeigniter应用程序上运行,但遇到了一个问题,即JSON提要中的事件显示为全天 我发现设置“allDay”:false可以修复问题(使用静态json文件测试),但当我将该值存储在mysql数据库中,然后返回数据并运行json编码时,它会将false转换为字符串,从而导致事件显示为全天 有人知道我如何在数据库中存储true或false(我当前存储为文本)并将其返回到json提要,而不使用字符串吗?我试过铸造和转换,但没有任何效果 下面是我的模型/控

我正试图让FullCalendar在我的Codeigniter应用程序上运行,但遇到了一个问题,即JSON提要中的事件显示为全天

我发现设置“allDay”:false可以修复问题(使用静态json文件测试),但当我将该值存储在mysql数据库中,然后返回数据并运行json编码时,它会将false转换为字符串,从而导致事件显示为全天

有人知道我如何在数据库中存储true或false(我当前存储为文本)并将其返回到json提要,而不使用字符串吗?我试过铸造和转换,但没有任何效果

下面是我的模型/控制器/json提要示例

提前感谢

模型函数

function show_installs()
{       
    return $this->db->query(
    "SELECT id, client_name as title, start, end, concat('/planner/view_install/',id) as url
    FROM installs WHERE completed != 2"
    )->result();            
}
控制器功能

function json_installs()
{
    $this->load->model('installs_model');
    $data = array();        
    if($query = $this->installs_model->show_installs())
    {
        $data = $query;
    }
    $json = json_encode($data);
    echo $json;
}   
JSON提要(由于“around false”而不起作用)

任何帮助都将不胜感激-我只需要将那些bloomin引号从false/true中去掉,它就会完美地工作


谢谢

为什么不将数据库中的列类型更改为布尔值而不是文本?您还可以解析$json对象,将所有布尔值作为文本转换为布尔值,然后再在日历中进行设置-快速谷歌搜索发现:

for(var i=0; i<$json.length; i++)
  $json[i]=/^true$/i.test($json[i]);

for(var i=0;iHi,感谢您的帮助-关于在JSON数据中循环并用false替换“false”的好主意-我已经尝试了上面的代码,但它似乎不起作用,您能帮我解释一下吗?再次感谢您的帮助:-)您好-我使用$JSON=str_replace(““全天”):“0”,“全天”来让它工作“:false',$json);-这似乎有效,但不确定这是否是最好的方法?我认为你是对的。fullcalendar文档中说:“不要在引号之间放置false/true全天参数,因为它们是布尔值”。问题是PHP JSON_ENCODE会在任何值中添加引号。您的解决方案可能是唯一的解决办法。
for(var i=0; i<$json.length; i++)
  $json[i]=/^true$/i.test($json[i]);