本文整理汇总了PHP中MY_Model::edit方法的典型用法代码示例。如果您正苦于以下问题:PHP MY_Model::edit方法的具体用法?PHP MY_Model::edit怎么用?PHP MY_Model::edit使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MY_Model
的用法示例。
在下文中一共展示了MY_Model::edit方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: edit
/**
* If technician is changed, updated order_technicians
*/
public function edit($assignment_id, $params)
{
$assignment = $this->get($assignment_id);
$previous_technician_id = $assignment->technician_id;
// Multiple technicians can be assigned to a single unit. In this case, create other assignments as needed, and delete existing ones if needed
if (!empty($params['technician_id']) && is_array($params['technician_id'])) {
$all_assignments = $this->get(array('order_id' => $assignment->order_id, 'unit_id' => $assignment->unit_id));
foreach ($params['technician_id'] as $new_technician_id) {
$technician_is_already_assigned = false;
foreach ($all_assignments as $existing_assignment) {
if ($existing_assignment->technician_id == $new_technician_id) {
$technician_is_already_assigned = true;
}
}
if (!$technician_is_already_assigned) {
$assignment_params = array('order_id' => $assignment->order_id, 'unit_id' => $assignment->unit_id, 'workflow_id' => $assignment->workflow_id, 'technician_id' => $new_technician_id, 'appointment_date' => $assignment->appointment_date, 'estimated_duration' => $assignment->estimated_duration);
if (!$this->get(array('order_id' => $assignment->order_id, 'unit_id' => $assignment->unit_id, 'technician_id' => $new_technician_id))) {
$this->add($assignment_params);
}
}
}
$all_assignments = $this->get(array('order_id' => $assignment->order_id, 'unit_id' => $assignment->unit_id));
foreach ($all_assignments as $existing_assignment) {
$assignment_has_a_technician = false;
foreach ($params['technician_id'] as $new_technician_id) {
if ($existing_assignment->technician_id == $new_technician_id) {
$assignment_has_a_technician = true;
}
}
if (!$assignment_has_a_technician) {
$this->delete($existing_assignment->id);
}
}
unset($params['technician_id']);
$result = parent::edit($assignment_id, $params);
// Update appointment_date and estimated_duration
return true;
} else {
if (empty($params['technician_id'])) {
return parent::edit($assignment_id, $params);
} else {
$this->order_technician_model->add_if_new($assignment->order_id, $params['technician_id']);
}
// If the order/unit/tech combination already exists, delete this assignment instead of editing it
if ($params['technician_id'] != $assignment->technician_id && $this->get(array('order_id' => $assignment->order_id, 'unit_id' => $assignment->unit_id, 'technician_id' => $params['technician_id']))) {
$result = parent::delete($assignment_id);
} else {
$result = parent::edit($assignment_id, $params);
}
$this->order_technician_model->delete_if_last($assignment->order_id, $previous_technician_id, $assignment->id);
return $result;
}
}
示例2: edit
public function edit($unit_id, $params)
{
$unit = $this->get($unit_id);
if (!empty($params['tenancy_id']) && $unit->tenancy_id != $params['tenancy_id']) {
if (!empty($unit->tenancy_id)) {
$this->tenancy_log_model->remove_unit($unit->tenancy_id, $unit->id);
}
$this->tenancy_log_model->add_unit($params['tenancy_id'], $unit->id);
}
return parent::edit($unit_id, $params);
}