У меня есть таблица mysql с составными ключами (user_id, category_id); Я пытаюсь обновить последний доступ к этим записям следующегоYii составные первичные ключи с isNewRecord
$userCategory = new UserCategory;
$userCategory->user_id = 1;
$userCategory->category_id = 15;
echo $userCategory->isNewRecord; //always true
$userCategory->last_access = Now();
$userCategory->save();
{$ userCategory-> isNewRecord}, и когда я пытаюсь сохранить() для MySQL создает дубликат ошибку для составных первичных ключей.
Я также добавил это модель UserCategory, но не помогло
public function primaryKey() {
return array('user_id', 'category_id');
}
**** Обновление: Извините за путаницу. Мой вопрос заключается в том, как добиться того же результата, что и «ON DUPLICATE KEY UPDATE» в структуре Yii. Другими словами, как сделать вставку или обновление в одном SQL-запросе. если вы посмотрите на исходный код для save()
public function save($runValidation=true,$attributes=null)
{
if(!$runValidation || $this->validate($attributes))
//checking if new record
return $this->getIsNewRecord() ? $this->insert($attributes) : $this->update($attributes);**
else
return false;
}
В ответ на изменение в моем ответе запишите новую запись, если это применимо. – Snivs