Update процессор не по id Новый


Здравствуйте, сообщество MODX!
Мне нужно написать update процессор. Застрял на том, что нужно найти запись в таблице НЕ по id, в данной таблице первичный ключ id
Собственно вот обычный update процессор:
class GraphUpdateProcessor extends modObjectUpdateProcessor {
	public $objectType = 'Graph';
	public $classKey = 'Graph';

	public function beforeSave() {
		$props = $this->getProperties();
		return !$this->hasErrors();
	}

}

return 'GraphUpdateProcessor';
Я хочу обновить запись не по id, а например по полю event_id. Подскажите — как?
01 августа 2016, 13:57    Николай Васильевич   
0    241 0

Комментарии (2)

  1. Николай Васильевич 01 августа 2016, 14:34 # +1
    Сделал вот так, но не нравится:
    class GraphUpdateProcessor extends modProcessor {
    	public $objectType = 'Graph';
    	public $classKey = 'Graph';
    
    	public function checkPermissions() { return true; }
    
    	public function process() {
    		$props = $this->getProperties();
    		$event_id = $props['event_id'];
    
    		$object = $this->modx->getObject($this->classKey, ['event_id:LIKE' => "%$event_id%"]);
    		$object->fromArray($props);
    		$object->save();
    
    		return $this->success('ok',$object);
    	}
    }
    
    return 'GraphUpdateProcessor';
    
    Если у кого-то найдется лучше вариант, то напиши, пожалуйста!
    1. Володя 01 августа 2016, 16:19 # 0
      попробуй указать primaryKeyField
      public $primaryKeyField = 'event_id';
      
    Вы должны авторизоваться, чтобы оставлять комментарии.