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, 10:57
modx.pro
764
0

Комментарии: 2

Николай Васильевич
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';
Если у кого-то найдется лучше вариант, то напиши, пожалуйста!
    Володя
    01 августа 2016, 16:19
    0
    попробуй указать primaryKeyField
    public $primaryKeyField = 'event_id';
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    2