CompaniesTable,
$this == Companies, $this->Projects - powiązana tabela
use Cake\Event\EventInterface; use Cake\Database\Expression\QueryExpression; class CompaniesTable extends Table { public function beforeSave(EventInterface $event, $entity, $options) { // zmienione pole manager_id if($entity->isDirty('manager_id')) { $entity->prev_manager_id = $entity->getOriginal('manager_id') ; // pole przed zmianę // podstawienie innej kolumny, wyrażenia $set_prev_manager_id = new QueryExpression('prev_manager_id = manager_id'); $this->Projects->updateAll( [ $set_prev_manager_id, 'manager_id' => $entity->manager_id ], [ 'company_id' => $entity->id ] ); } }