対象カラムをPostテーブルのlast_updatetimeカラムとした場合
last_updatetimeから現在日時の差分で○時間前、○日前、○週間前という表示を行う
■model
class Post extends Model
{
・
・
・
public function getAgo(){
$diff_second = strtotime('now') - strtotime($this->last_updatetime);
if(!is_int($diff_second)) return '';
if($diff_second < 60){
return $diff_second."秒前";
}elseif($diff_second < 3600){
return floor($diff_second/60)."分前";;
}elseif($diff_second < 86400){
return floor($diff_second/3600)."時間前";
}elseif($diff_second < 604800){
return floor($diff_second/86400)."日前";
}elseif($diff_second < 2592000){
return floor($diff_second/604800)."週間前";
}elseif($diff_second < 31536000){
return floor($diff_second/2592000)."ヶ月前";
}else{
return floor($diff_second/31536000)."年前";
}
}
・
・
・
}
■view
表示したいところで、以下を記述。
{{ $post->getAgo() }}