Skip to content

Instantly share code, notes, and snippets.

@jlpoveda
Created June 10, 2016 06:49
Show Gist options
  • Save jlpoveda/faa1830d0696f7e82fa42c774a16c46b to your computer and use it in GitHub Desktop.
Save jlpoveda/faa1830d0696f7e82fa42c774a16c46b to your computer and use it in GitHub Desktop.
<?php
// $this['CarritoDetalle'] es una entidad de Doctrine 1 con Lazy Load.
//
// El problema es que en php 5.6 esto funciona bien porque evalúa la expresión antes de devolver el
// resultado pero en php 7 no lo evalúa.
//
public function getCampanyaId()
{
if (!empty($this['CarritoDetalle'][0]['atributo_campanya_2_id'])) {
if(!empty($this['CarritoDetalle'][0]['AtributoCampanya2']['campanya_id'])) {
return $this['CarritoDetalle'][0]['AtributoCampanya2']['campanya_id'];
}
}
return null;
}
//
// Para que funcione en php 7 tengo que hacer lo siguiente:
//
public function getCampanyaId()
{
if (!empty($this['CarritoDetalle'][0]['atributo_campanya_2_id'])) {
$this['CarritoDetalle'][0]['AtributoCampanya2']['campanya_id'];
if(!empty($this['CarritoDetalle'][0]['AtributoCampanya2']['campanya_id'])) {
return $this['CarritoDetalle'][0]['AtributoCampanya2']['campanya_id'];
}
}
return null;
}
// Con esta nueva línea lo que conseguimos es que se evalúe y haga la carga de datos para luego poder
// evaluarlo bien.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment