protected function beforeDelete() { try { foreach ($this->micrositio_x_genero as $micrositio_x_genero) { $mxg = MicrositioXGenero::model()->findByPk($micrositio_x_genero->id); $mxg->delete(); } return parent::beforeDelete(); } catch (Exception $e) { return false; } }
private function get_defaults() { $d1 = new CDbCacheDependency("SELECT GREATEST(MAX(creado), MAX(modificado)) FROM micrositio WHERE id = " . $this->_micrositio_id . " AND estado <> 0"); $generos = Micrositio::model()->cache(21600, $d1)->with('micrositio_x_genero')->findByPk($this->_micrositio_id); $listado = array(); foreach ($generos->micrositio_x_genero as $genero) { $dependencia = new CDbCacheDependency("SELECT MAX(creado) FROM micrositio_x_genero WHERE genero_id = " . $genero->genero_id . " AND micrositio_id != " . $this->_micrositio_id . " AND estado <> 0"); $mxg = MicrositioXGenero::model()->cache(21600, $dependencia)->with('micrositio')->findAllByAttributes(array('genero_id' => $genero->genero_id), 'micrositio_id != ' . $this->_micrositio_id); foreach ($mxg as $m) { if ($m->micrositio->miniatura) { $listado[$m->micrositio_id] = $m->micrositio; } } } if (count($listado)) { shuffle($listado); } return $listado; }
public function actionDesasignar($id) { $mxg = MicrositioXGenero::model()->findByPk($id); if ($mxg->delete()) { $this->redirect(Yii::app()->request->urlReferrer); } }