public function append() { $mailingList = MailingList::findOne($this->mailing_list_id); $partners = Partner::findAll(explode(',', $this->partner_ids)); foreach ($partners as $partner) { $mailingList->unlink('partners', $partner, true); $mailingList->link('partners', $partner); } return true; }
public function update($event) { $model = $this->owner; $ids = array_filter($this->partners_ids); $current_ids = []; foreach ($model->partners as $partner) { $current_ids[] = $partner->id; } if ($ids_new = array_diff($ids, $current_ids)) { foreach (Partner::findAll($ids_new) as $partner) { $model->link('partners', $partner); } } if ($ids_removed = array_diff($current_ids, $ids)) { foreach (Partner::findAll($ids_removed) as $partner) { $model->unlink('partners', $partner, true); } } }
public function actionMap(array $ids) { $models = Partner::findAll(['id' => $ids]); return $this->render('map', ['models' => $models]); }