I am having problems getting ZF2 jsonModel to return multi result from doctrine query. The issue appears only when I try to return the array result and not when returning individual items my code is as below:
public function mosquesAction() {
$em = $this
->getServiceLocator()
->get('Doctrine\ORM\EntityManager');
$dql = "select m.name from \Application\Entity\Mosque m ";
$result = $em->createQuery($dql)->getResult();
return new JsonModel($result);
}
the Mosque Entity is:
namespace Application\Entity;
use Doctrine\ORM\Mapping as ORM;
/** @ORM\Entity */
class Mosque {
/**
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
* @ORM\Column(type="integer")
*/
private $id;
/** @ORM\Column(type="string") */
private $name;
/** @ORM\Column(type="string") */
private $address;
/** @ORM\Column(type="string") */
private $email;
/** @ORM\Column(type="string") */
private $website;
/** @ORM\Column(type="string") */
private $phone;
/** @ORM\Column(type="string") */
private $mobile;
/** @ORM\Column(type="string") */
private $fax;
/** @ORM\Column(type="string") */
private $coordinates;
/** @ORM\ManyToOne(targetEntity="Canton", inversedBy="mosques") */
private $canton;
public function getId() {
return $this->id;
}
public function getName() {
return $this->name;
}
public function setName($name) {
$this->name = $name;
}
}
when I change the return value to
return new JsonModel($result[0])
I get the result
{"name":"IDTV - Mimar Sinan Camii"}
EDIT:
I think I found the origin of the issue, there is no problem with code I posted but it appears that JsonModel can't handle special characters like in
Islamische König Faysal Stiftung
So my question now is, how to encode these characters in JsonModel on php5.3?
Thank you in advance and sorry for my poor English