【发布时间】:2014-11-24 13:05:47
【问题描述】:
我在这里有点困惑,我正在使用 Crinsane 的 laravel 插件创建一个日历,唯一的问题是使用 foreach 循环从数据库传递的值中显示多个日期。基本结构是这样的
$data = array(
3 => 'http://example.com/news/article/2006/03/',
7 => 'http://example.com/news/article/2006/07/',
);
Calendar::generate(2006, 6, $data);
这将呈现一个日历。但我的数据值来自数据库。这是我的 foreach 循环
@foreach ($events as $a)
<?php $string = $a->datebooked;
$date = DateTime::createFromFormat("Y-m-d" ,$string);
$date=$date->format("d");
$date;?>
<?php $data=array(
$date=> $a->eventname,
)?>
@endforeach
<?php echo Calendar::generate(date('Y'), date('n'), $data); ?>
当我运行这段代码时,它只显示最后一个事件日期,我知道这是因为它循环遍历整个数据变量,但我怎样才能让它循环遍历 $date=> $a->eventname ?
【问题讨论】:
-
似乎您的
$data数组在您的循环中每次都会被覆盖。 -
感谢 4 的帮助,是的,我知道,如何防止它被覆盖,这是我的问题...
-
我想要这样的输出 $data = array( 3 => 'event 1', 7 => 'event 2', );但到目前为止,只有事件 2 正在显示...