Вставьте уникальный ipaddress в базу данных

У меня проблема. Я хочу добавить ipaddress и дату посещения каждого посетителя в моей базе данных, но ip вставляется каждый раз, когда я обновляю страницу или открываю новость.
Мой код:
NewsController:

public function __construct(){
$this->beforeFilter('csrf', array('on'=>'post'));
$sIpAddress = Visitors_lib::getIp();
$dDateVisit = time("Y/m/d H:i:s");
$oVisitor = new \Visitors();
$bInsert = $oVisitor->addVisitor($sIpAddress,$dDateVisit);
}

VisitorsModel:

public function addVisitor($sIpAdress,$dDate){
$oVisitor = new Visitors();
$oVisitor->ipaddress = $sIpAdress;
$oVisitor->date = $dDate;
$oVisitor->save();
}

Поэтому я хочу вставить только один ip. В этих ситуациях, когда я нажимаю на новости, ip вставляется в базу данных, поэтому для посетителя 1 клик = 1 вставка.

0

Решение

Проверьте, существует ли он, прежде чем вводить его:

public function addVisitor($ipaddresse, $date)
{
if ( ! $this->where(compact('ipaddresse'))->first())
{
static::create(compact('ipaddresse', 'date'));
}
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]