我有两个表:users和usermeta。表usermetahas有4列:id,user_id,meta_key和meta_value。用户可以拥有许多元数据。 我想获得前10个用户的组。所以我在Zend框架2中创建了一个SQL查询:
$coreSelect = $sql->select()
->from('users')
->limit(10)
->offset(0);
$select = $sql->select()
->from(array('u' => $coreSelect))
->join('usermeta',
'u.user_id = usermeta.user_id',
array(
'meta_key' => 'meta_key',
'meta_value' => 'meta_value',
),
Select::JOIN_LEFT
);
执行此查询时,它会显示SQL语法错误。 Zend框架操纵的SQL查询字符串如下所示:
SELECT u.*
FROM (
SELECT * FROM users LIMIT '10' OFFSET '0') AS u
...
这意味着Zend框架已将引号添加到偏移量和限制值中,这会导致语法错误。 有谁可以帮我解决这个问题?
答案 0 :(得分:1)
这可以帮到你: http://www.maltblue.com/tutorial/zend-db-sql-creating-joins-and-unions-with-ease 最终感兴趣的东西,但阅读所有内容是有用的。