2016-12-31 10 views
0

Zend FrameworkのORM Doctrineを使用してデータベースからDataTime型のデータを抽出するのに問題があります。ORMのDoctrineでの書き込みと読み取りの問題の問題

この問題は、この種のデータを扱う方法を本当に理解できないために発生します。問題を解決する手助けはできますか?

ニュースの日付を表示する必要があります。私は試しました:$item->getDate()が、ページは

"エラー500"と表示されます。

enter image description here

のvar_dump後($アイテム - >のgetDate());私はこの取得:

enter image description here

<?php 
foreach ($articles as $item) { 
$category = $item->getCategory(); 
$edit = $this->Url('admin/add-edit-delete', array('action'=>'action', 'subAction'=>'edit', 'element' => 'news', 'newsTitle' => str_replace(" ","-",$item->getTitle()), 'id'=>$item->getId()),null,true); 
$delete = $this->Url('admin/add-edit-delete', array('action'=>'action', 'subAction'=>'delete', 'element' => 'news', 'id'=>$item->getId()),null,true); 
$show_article = $this->Url('news/article', array('action' => 'article', 'title' => str_replace(' ', '-', str_replace('!', '', $item->getTitle())), 'id' => $item->getId()),null,true); 
$count_comment = "<span class='badge' style='float: right' data-toggle=\"tooltip\" data-placement=\"left\" title=\"Количество комментариев\">{$item->getComments()->count()}</span>"; 
$title = ($item->getComments()->count() != 0)?'Открыть список комментариев к статье':null; 

if ($category) { 
$categoryKey = $category->getCategoryKey(); 
} else { 
$categoryKey = 'категория не указана'; 
} 

if ($item->getIsPublic()) { 
$isPublic = 'да'; 
} else { 
$isPublic = 'нет'; 
} 

echo " 
<tr> 
<td>{$item->getId()}</td> 
<td>{$categoryKey}</td> 
<td><p data-toggle=\"tooltip\" data-placement=\"right\" title=\"{$title}\"><a href='' data-toggle='modal' data-target='#myModal-comments-{$item->getId()}'>{$item->getTitle()}</a>{$count_comment}</p></td> 
<td></td> 
"; 
echo " 
<td>{$isPublic}</td> 
<td style=\"text-align: right; width: 76px\"> 
"; 
echo ' 
<a href="'.$edit.'" data-toggle="tooltip" data-placement="left" title="Редактировать"><span class="glyphicon glyphicon-edit" style="color: #808080"></span></a> 
<a href="'.$delete.'" data-toggle="tooltip" data-placement="left" title="Удалить"><span class="glyphicon glyphicon-trash" style="color: #808080"></span></a> 
'; 
echo " 
</td> 
</tr> 
"; 
} 
?> 
+0

-ペーストをコピーして、あなたのコードの代わりに、スクリーンショットを再フォーマットしてください。エラー500は一般的なサーバーエラーです。 var_dump($ item)を実行すると、何が表示されますか? –

+0

@ AlFoelce post私はコードと、var_dumpの結果を投稿の最後に追加しました。 –

+0

ダンプが示すように、getDateはPHPのDateTimeオブジェクトを返します。 http://php.net/manual/en/class.datetime.php。あなたは文字列表現を取得する必要があります。 $ item-> getDate() - > format( 'Y-m-d H:i:s')のようなものです。 – Cerad

答えて

0

に@Ceradのおかげで、ここでの問題の解決策です:

echo ($item->getDate() != null) ? $item->getDate()->format('d.m.Y') : "Дата не указана";