我正在尝试让FullCalendar在我的Codeigniter应用程序上工作,但遇到了从我的JSON提要中全天显示的事件的问题。
我发现设置“allDay”:false修复了问题(使用静态json文件测试)但是当我将该值存储在mysql DB中,然后返回数据并运行JSON编码时,它会转换为False成为一个字符串,导致事件全天显示!
有没有人知道我如何在我的数据库中存储真或假(我目前正在存储为文本)并将其返回到我的json feed而不是字符串?我已经尝试过转换和转换,但无法正常工作!
下面我的模型/控制器/ 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 Feed(因为“周围错误”
而无效)[
{
"id":"18",
"title":"John",
"allDay":"false",
"start":1339585200,
"end":1339592400,
"url":"\/planner\/view_install\/18"
},
{
"id":"19",
"title":"Mike",
"allDay":"false",
"start":"1339585200",
"end":"1339592400",
"url":"\/planner\/view_install\/19"
}
]
任何帮助都会非常感激 - 我只需要将这些bloomin引号从false / true中删除,它会完美运行!
由于
答案 0 :(得分:1)
为什么不将数据库中的列类型更改为布尔值而不是文本?您还可以解析您的$ json对象,将所有booleans_as_text转换为布尔值,然后再将其设置为日历 - 快速谷歌搜索发现我:
for(var i=0; i<$json.length; i++)
$json[i]=/^true$/i.test($json[i]);
您还可以将allDayDefault
设置为false
以避免在每个事件中设置allday:false。