本文整理匯總了PHP中Cake\ORM\Entity::parentNode方法的典型用法代碼示例。如果您正苦於以下問題:PHP Entity::parentNode方法的具體用法?PHP Entity::parentNode怎麽用?PHP Entity::parentNode使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Cake\ORM\Entity
的用法示例。
在下文中一共展示了Entity::parentNode方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: afterSave
/**
* Creates a new ARO/ACO node bound to this record
*
* @param Event $event The afterSave event that was fired
* @param Entity $entity The entity being saved
* @return void
*/
public function afterSave(Event $event, Entity $entity)
{
$model = $event->subject();
$types = $this->_typeMaps[$this->config('type')];
if (!is_array($types)) {
$types = [$types];
}
foreach ($types as $type) {
$parent = $entity->parentNode();
if (!empty($parent)) {
$parent = $this->node($parent, $type)->first();
}
$data = ['parent_id' => isset($parent->id) ? $parent->id : null, 'model' => $model->alias(), 'foreign_key' => $entity->id];
if (!$entity->isNew()) {
$node = $this->node($entity, $type)->first();
$data['id'] = isset($node->id) ? $node->id : null;
$newData = $model->{$type}->patchEntity($node, $data);
} else {
$newData = $model->{$type}->newEntity($data);
}
$saved = $model->{$type}->target()->save($newData);
}
}