Lo que quiero hacer es, juntar los datos de una fila, siempre y cuando los valores de una determinada columna se respeten.
(lo que comunmente en sql seria where columna=valor)
Código PHP:
$articulos['title'] = $em->getRepository('DeGualeguaychuAvisosBundle:Categorias')->findByNombre($categoria)->getId();
Error:
Código:
Fatal error: Call to a member function getId() on a non-object in C:\www\src\DeGualeguaychu\AvisosBundle\Controller\DefaultController.php on line 47
Se que el valor que llega desde $categoria es correcto.
Código PHP:
<?php
namespace DeGualeguaychuAvisosBundleEntity;
use DoctrineORMMapping as ORM;
/**
* DeGualeguaychu\AvisosBundle\Entity\Categorias
*
* @ORM\Table()
* @ORM\Entity
*/
class Categorias
{
/**
* @var integer $id
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string $nombre
*
* @ORM\Column(name="nombre", type="string", length=255)
*/
private $nombre;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set id
*
* @param integer $id
*/
public function setId($id)
{
$this->id = $id;
}
/**
* Get nombre
*
* @return string
*/
public function getNombre()
{
return $this->nombre;
}
/**
* Set nombre
*
* @param string $nombre
*/
public function setNombre($nombre)
{
$this->nombre = $nombre;
}
}
Mi tabla:
Código:
CREATE TABLE IF NOT EXISTS `categorias` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nombre` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=100 ; INSERT INTO `categorias` (`id`, `nombre`) VALUES (1, 'Automotores'), (2, 'Inmuebles'), (3, 'Comunidad'), (4, 'Gratis'), (5, 'Electrodomesticos'), (6, 'Muebles'), (7, 'Telefonia Celular'), (8, 'Indumentaria'), (9, 'Servicios'), (10, 'Empleo'), (99, 'Todos');
Otra consulta, es seguro hacer la consulta directamente, analizar antes $categoria (que viene juntada desde el ruting), ya que doctrine ya save que es string?