如何使用sql在zf2中选择表

时间:2016-01-19 22:33:47

标签: php zend-framework2 apigility

如何使用Zend \ Db \ Sql \ Select在zf2上进行此查询?

 SELECT album.id, album.artist, album.title, pais.nombre_pais, biografia.genero, biografia.ocupacion, biografia.sitio_web
                 FROM album
                    INNER JOIN pais ON  pais.id_album = album.id
                    INNER JOIN biografia ON biografia.id_album = album.id
        WHERE  album.title LIKE '%Value_Title%'
        AND album.artist LIKE '%Value_Artist%'

我尝试了不同的方法但没有成功。

1 个答案:

答案 0 :(得分:1)

必须是这样的:

use Zend\Db\Sql\Select;
use Zend\Db\Sql\Where;
$where = new Where();
$where->like('album.title', '%' . $value_title . '%')
  ->like('album.artist', '%' . $Value_artist . '%');
$select = new Select();
$select->from('album')
   ->columns('id', 'title')
   ->join('pais', 'pais.id_album = album.id', [
       'nombre_pais'
   ])
   ->join('biografia', 'biografia.id_album = album.id', [
       'genero', 
       'ocupacion', 
       'sitio_web'
   ])
   ->where($where);

在join方法中,字段名称不应以表名为前缀。这是方法。