如何使用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%'
我尝试了不同的方法但没有成功。
答案 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方法中,字段名称不应以表名为前缀。这是方法。