如何从此代码 zf2 获取查询 sql 指令?
How can get the query sql instruction from this code zf2?
如何在 zf2 中获取此代码的 sql 查询
只是不 return 我的所有记录,我只需要一些列
don.t get (nombre_pais, genero, ocupacion,sitio_web )
我正在 mysql 控制台(查询)中尝试此代码
return没问题
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 1 = 1
AND album.artist like '%value_artist%'
AND album.artist LIKE '%value_title%'
这是我在 zf2 中的代码:
return 不行。它 return 只有 id、标题、艺术家,而不是我其他表中的其他列。
$where = new Where();
if (isset($artist) and isset($title))
{
$where->like('album.title', '%' . $title . '%')
->like('album.artist', '%' . $artist . '%');
}
if (isset($artist))
{
$where->like('album.artist', '%' . $artist . '%');
}
if (isset($title))
{
$where->like('album.title', '%' . $title . '%');
}
$select = new Select();
$select->from('album')
->columns(array ('id', 'artist','title'))
->join('pais', 'pais.id_album = album.id',array('nombre_pais'))
->join('biografia', 'biografia.id_album = album.id', array('genero', 'ocupacion', 'sitio_web'))
->where($where);
请有人帮我得到正确的结果
要了解生成的 SQL 会是什么样子,您可以使用 $select 的 getSqlString() 方法:
$select->getSqlString();
例如:
echo $select->getSqlString(); die();
http://framework.zend.com/manual/current/en/modules/zend.db.sql.html
如何在 zf2 中获取此代码的 sql 查询 只是不 return 我的所有记录,我只需要一些列 don.t get (nombre_pais, genero, ocupacion,sitio_web )
我正在 mysql 控制台(查询)中尝试此代码 return没问题
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 1 = 1
AND album.artist like '%value_artist%'
AND album.artist LIKE '%value_title%'
这是我在 zf2 中的代码: return 不行。它 return 只有 id、标题、艺术家,而不是我其他表中的其他列。
$where = new Where();
if (isset($artist) and isset($title))
{
$where->like('album.title', '%' . $title . '%')
->like('album.artist', '%' . $artist . '%');
}
if (isset($artist))
{
$where->like('album.artist', '%' . $artist . '%');
}
if (isset($title))
{
$where->like('album.title', '%' . $title . '%');
}
$select = new Select();
$select->from('album')
->columns(array ('id', 'artist','title'))
->join('pais', 'pais.id_album = album.id',array('nombre_pais'))
->join('biografia', 'biografia.id_album = album.id', array('genero', 'ocupacion', 'sitio_web'))
->where($where);
请有人帮我得到正确的结果
要了解生成的 SQL 会是什么样子,您可以使用 $select 的 getSqlString() 方法:
$select->getSqlString();
例如:
echo $select->getSqlString(); die();
http://framework.zend.com/manual/current/en/modules/zend.db.sql.html