Закончилось решение этой проблемы рекурсивным методом:
public function getDomainPath($domainId)
{
$domain = Domain::findOrFail($domainId);
if (is_null($domain->parent_id)) {
return $domain->domain;
}
$path = $this->getDomainPath($domain->parent_id) . '/' . $domain->domain;
return $path;
}
Затем я вызываю метод в методе доступа и передаю идентификатор самого дочернего домена.
Очевидный способ для использования strtotime()
$date = strtotime("+1 day", strtotime("2007-02-28"));
echo date("Y-m-d", $date);
, даст Вам 01.03.2007
Это более чисто и более просто добавить 86400.:)
высокотехнологичный путь состоит в том, чтобы сделать:
$date = new DateTime($input_date);
$date->modify('+1 day');
echo $date->format('Y-m-d');
, но это действительно только удаленно стоит, если Вы делаете, скажем, последовательность преобразований в день, вместо того, чтобы просто найти завтра.
Можно сделать дополнение прямо внутри strtotime, например,
$today="2007-02-28";
$nextday=strftime("%Y-%m-%d", strtotime("$today +1 day"));
Иначе должен использовать функцию mktime (). Это - очень полезная функция...
$date = "2007-02-28";
list($y,$m,$d)=explode('-',$date);
$date2 = Date("Y-m-d", mktime(0,0,0,$m,$d+1,$y));
, но я думаю strtotime()
, лучше в той ситуации...