我正在尝试遍历我为对象中的日期创建的方法。但是,它只是循环第一个结果,我不知道如何让它循环遍历每个结果并相应地应用。
日期方法
public function getDate($date) {
$date = preg_replace('/,/', '', $date);
$newDate = strtotime($date);
$dateFormat = date('l: F d, Y',$newDate);
return $dateFormat;
}
控制器调用模型
public function showDashboard() {
$pages = Pages::orderBy('created_at', 'DESC')->get();
// foreach($pages as $page) {
// $date = $this->getDate($page->created_at);
// }
//var_dump($date); die;
return View::make('dashboard.index', ['pageTitle' => 'Dashboard','pages' => $pages]);
}
dumping $ date只返回一个看起来像数据库表中最后一个日期的结果。如果我把转储放在循环中我只得到第一个结果。
我尝试将该方法直接应用于Blade模板$this->getDate($page->created_at);
,但返回错误,指出它不是已定义的方法。刀片模板只是一个简单的foreach循环,可以显示每条记录。我想要完成的是foreach其中一个created_at记录,我希望将getDate方法应用于它。
答案 0 :(得分:0)
你没有将$ date设置为一个数组 - 每次都在写自己...
public function showDashboard() {
$pages = Pages::orderBy('created_at', 'DESC')->get();
$date = array();
foreach($pages as $page) {
$date[] = $this->getDate($page->created_at);
}
var_dump($date); die;
return View::make('dashboard.index', ['pageTitle' => 'Dashboard','pages' => $pages]);
}