Pregunta

Soy nuevo en yii.mi problema es que tengo una matriz $hometeamid que contiene toda la identificación que necesito para mostrar los detalles.¿Cómo puedo obtener los datos?por favor alguien me ayuda
Yo he tratado
$mod = Yii::app()->db->createCommand('SELECT * FROM event WHERE id = 1432201 or id = 1432208')->queryAll();

 $no=1432201;
 $mod = Event::model()->findByAttributes(array('id' => $no));<br>

pero no funciona.Se muestran campos en blanco.

¿Fue útil?

Solución

Mejor para hacer addincritros Wiith CDBcriteria o Simple Createcommand, pero antes de hacerlo, verifique su consulta en PHPMYAdmin / Navicado / MySQL Workbench, etc. Manualmente (¿está devolviendo el resultado o no?)

$homeTeamIds=['1','2','3','4'];
$criteria = new CDbCriteria;
$criteria->addInCondition('id',$homeTeamIds,'OR'); //matching any of your homeTeadIds 
$result = Event::model()->findAll($criteria);

o

$ids = implode(', ', $homeTeamIds);
$sql = "SELECT * FROM event WHERE id IN ($ids)"   // like where id IN(1,2,3,4)
$result = Yii::app()->db->createCommand($sql)->queryAll();

Otros consejos

No use FindByATtributes Si configura la ID como la clave principal en su DB.

Ejemplo:

$mod = Event::model()->findbyPk($no);

Puede usar cdbcriteria 's AddinIndiconition () método para encontrar todas las filas con valores que coinciden con los elementos en una matriz, por ejemplo, algo como estedebe funcionar (no probado):

$hometeamid = array(
    '1432201',
    '1432208',
    // ... etc... all the id's you want to show
);
$criteria = new CDbCriteria;
$criteria->addInCondition('id',$hometeamid,'OR');
$mod = Event::model()->findAll($criteria);

Incluso hay un ejemplo que usa Addincondedition en la parte superior de la página de referencia de CDBcriteria: http://www.yiiframework.com/doc/api/1.1/cdbcriteria

Primero procese su matriz en una cadena separada por comas que se usa como valor condicional en la consulta SQL

$idString = implode(', ', $hometeamid);

Luego coloca esa cuerda dentro IN cláusula en la consulta SQL.

$sql = "SELECT *
           FROM event
         WHERE id IN ($idString)"

$mod = Yii::app()->db->createCommand($sql)->queryAll();

después de la ejecución de queryAll método recibirá las filas relacionadas como matriz resultante

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top