0

我有两个表:用户和用户元。表 usermetah 有 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 框架在偏移量和限制值中添加了引号,导致语法错误。谁能帮我解决这个问题?

4

1 回答 1

1

这应该对您有所帮助:http: //www.maltblue.com/tutorial/zend-db-sql-creating-joins-and-unions-with-ease 一些你感兴趣的东西,接近尾声,但阅读所有这些都是有用的.

于 2013-09-25T20:47:36.707 回答