Propel ORM: Как сохранить Объект только, если такой объект еще не существует - PullRequest
0 голосов
/ 18 декабря 2010

Я использую Propel ORM. Одна из моих таблиц называется «друг», и ее записи представляют отношения «многие ко многим». Таблица "друг" имеет записи:

  • profile_id
  • friend_profile_id

Эти два свойства, очевидно, создают PrimaryKey.

Теперь я хотел бы обновить эту таблицу новой информацией. Поэтому я хотел бы сохранить новые записи о друзьях следующим образом:

$friendCon = new RplFriend();
$friendCon->setProfileId($profile->getId());
$friendCon->setFriendProfileId($friendProfile->getId());
$friendCon->save();

Но на данный момент я не знаю, существует ли такая запись. Таким образом, я получаю много ошибок "Duplicate Entry" от Propel. Каков наиболее эффективный способ сохранить новую запись, если она еще не существует?

Ответы [ 2 ]

0 голосов
/ 27 мая 2011

установить уникальный индекс этих 2 полей в вашей базе данных

0 голосов
/ 25 декабря 2010

Может быть, вы должны попробовать что-то вроде:

$friendCon_duplicate = RplFriendQuery::create()->findPK($profile->getId(),$friendProfile->getId());

if($friendCon_duplicate..
...