2014-11-09 5 views
0

문제가 있습니다. ipaddress와 날짜를 데이터베이스에 넣기를 원하지만 ip를 새로 고침하거나 뉴스를 열 때마다 삽입됩니다. 내 코드 : NewsController가 :데이터베이스에 고유 한 ipaddress를 삽입하십시오.

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

그것은 좋은 생각 데이터베이스 – Milad

+0

에서 해당 IP 필드가 고유하게 만들기? – user3348229

+0

ip addreses는 실제 세계에서 고유해야하므로 – Milad

답변

0

확인 :

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

당신의 코드를 작동시키지 마십시오, ipaddresse는 데이터베이스에 삽입하지 마십시오 – user3348229

+0

그것은 작동합니다 :)) ... thx – user3348229