Pregunta

Me encuentro con un problema porque estoy seguro de que no estoy haciendo esto correctamente con mi programación.
He creado un modelo personalizado en Magento.
En la tabla de base de datos de mi modelo hay varias entidades con los mismos atributos ...
Necesito elegir solo una de todas estas entidades con el mismo atributo que tengo.
Por el momento hice esto:

$myvariable = Mage::getModel('test/test')->getCollection()
->setOrder('idserialkeys', 'asc')
->addFilter('idproduit', 1)
->addFilter('utilise', 0)
->addFilter('customerid', 0)
->addFilter('numcommande', 0)

De esta carga tengo alrededor de cien resultados, pero necesito actualizar solo uno de estos, así que justo después de que lo haga:

->setPageSize(1);

El problema es que necesito un foreach después para actualizar mi entidad

foreach($mavaribale as $modifiemoi) {
    // Update of my entity because of course there is only one 
}

Como puede ver, estoy obligado a hacer un bucle (para cada uno) incluso si tengo un setPagesize... Me gustaría evitar este estúpido bucle para optimizar mi código.

Gracias por tus sugerencias y que tengas un buen día,

Anelme

¿Fue útil?

Solución

Cuando tenga una colección y solo necesite un elemento, use el getFirstItem método. Prueba esto:

$modifiemoi = $myvariable->getFirstItem();

Asegúrese de usar también su setPageSize Llame para que solo transfiera datos para un elemento.

¡Espero que ayude!

Gracias Joe

Otros consejos

Todas las colecciones son Varien_Data_Collection objetos para que puedas usar getFirstItem:

$modifiemoi = $mavaribale->getFirstItem();
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top