Quantcast
Channel: Yii Framework Forum
Viewing all articles
Browse latest Browse all 18717

Error Sql Yii - Formulario Con Checkboxes

$
0
0
Saludos a Todos...


1) Tengo una TABLA llamada AdminUsuario que tiene tres campos ( username, contrasena y edad ),
en la VISTA tengo un formulario, que despliega un listado con varios checkbox con un foreach..se trata de ir seleccionando de la lista los registros a Eliminar..

con el siguiente CODIGO:

<?php echo CHtml::beginForm(CHtml::normalizeUrl(array('adminUsuario/editar')), 'post', array('id' => 'formListado')); ?>

<?php echo CHtml::hiddenField('UsuarioForm[elemento]', '', array()); ?>
<table style='border: 1px solid #FF0000;'>
<tr style='background-color: pink; text-align: center; font-weight: bold;'>
<td>Marcas</td>
<td>Username</td>
<td>Edad</td>
</tr>
<?php $i = 0; ?>
<?php foreach($usuarios as $usuario): ?>
<tr>
<td style='text-align: center;'><?= CHtml::checkBox("UsuarioForm[marca][{$i}]", false, array('value' => $usuario['username'])); ?></td>
<td><?= $usuario['username']; ?></td>
<td style='text-align: center;'><?= $usuario['edad']; ?></td>
</tr>
<?php $i++; ?>
<?php endforeach; ?>
</table>
<br />
<?= CHtml::submitButton('Remover', array(
'onClick' => "document.getElementById('formListado').action = '" . CHtml::normalizeUrl(array('adminUsuario/remover')) . "'"
)); ?>
<?php echo CHtml::endForm(); ?>

2) EN EL CONTROLADOR LA SIGUIENTE FUNCION CON EL SIGUIENTE CODIGO:

public function actionRemover()
{

if(!isset($_POST['UsuarioForm']))
{
Yii::app() -> request -> redirect(CHtml::normalizeUrl(array('AdminUsuario/index')));
exit;
}

$usuarios = array_values($_POST['UsuarioForm']['marca']);

$total = 0;
$borrados = 0;

foreach($usuarios as $username)
{
$usuario = new AdminUsuario();
$usuario -> username = $username;
if($usuario -> remover())
$borrados ++;
$total ++;
}
Yii::app() -> user -> setFlash('mensajeEstado', "Se removieron {$borrados} de {$total} registros.");
Yii::app() -> request -> redirect(CHtml::normalizeUrl(array('AdminUsuario/index')));
exit;
}
3) Y EN EL MODELO LA FUNCION remover con el CODIGO Siguiente:

public function remover()
{

$sql = "DELETE FROM AdminUsuario WHERE username=:username";
$comando = Yii::app()->db->createCommand($sql);
$comando->bindParam(':username',$this->username, PDO::PARAM_STR, 16);
$control=$comando->execute();
return ($control > 0);
}

Pero arroja el siguiente error... Indirect modification of overloaded property AdminUsuario::$username has no effect
Estoy tratando de solucionar este error que arroja Yii, si alguien por favor puede ayudar con este tema..
No se que parte del código está mal o si es un bug de Yii o PHP...
Adjunto un archivo de imagen...

Gracias por su ayuda!...

  • : ERROR.jpg

Viewing all articles
Browse latest Browse all 18717

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>