X-Git-Url: https://dev.renevier.net/?p=syj.git;a=blobdiff_plain;f=application%2Fmodels%2FPathMapper.php;h=2bbeabb7a334d1dbff3e75be7f15d34cc81408d6;hp=8db1e2724f4098377af2c6507e1316c3f41104b0;hb=00c2579ade64a20ba2d82e98d3eea5f864864cdb;hpb=f35ee92c9c18e4604be3a6ed8590cff6505a3200 diff --git a/application/models/PathMapper.php b/application/models/PathMapper.php index 8db1e27..2bbeabb 100644 --- a/application/models/PathMapper.php +++ b/application/models/PathMapper.php @@ -1,5 +1,5 @@ _fetchItem($select, $path); } + public function findByTitle($title, Syj_Model_Path $path) { + $select = $this->_select(); + $select->where('title = ?', (string)$title); + return $this->_fetchItem($select, $path); + } + public function findByUrl($url, Syj_Model_Path $path) { $select = $this->_select(); $select->where('id = ?', (int)$url)->orWhere('urlcomp = ?', (string)$url); @@ -66,7 +72,7 @@ class Syj_Model_PathMapper public function save (Syj_Model_Path $path) { $data = array( 'geom'=> (string)$path->geom, - 'creator'=> $path->creator->id, + 'creator'=> $path->creator? $path->creator->id: null, 'title'=> $path->title, 'creator_ip'=> $path->creatorIp ); @@ -74,6 +80,7 @@ class Syj_Model_PathMapper $path->id = $this->getDbTable()->insert($data); } else { $this->getDbTable()->update($data, array('id = ?' => $id)); + $path->invalidateCache(); } }