11

我正在尝试使用 Zend DB select 执行此查询,但我无法执行此操作

这是sql查询

选择 shopping_id,shopping_details,"friend" 作为类型
从购物

请注意这里我如何将“朋友”指定为类型,而朋友不是购物表中的一列。

现在我如何在 Zend 中做到这一点。我已经尝试过了,但它给了我一个错误,说“sh.friend 列不存在”

$select->from(array('sh'=>'shopping'),array('shopping_id','shopping_details','"friend" as type');

任何帮助将不胜感激谢谢

4

3 回答 3

19

试试看Zend_Db_Expr,也许是这样的:

$select->from(array('sh'=>'shopping'),
    array('shopping_id','shopping_details',
         new Zend_Db_Expr('"friend" as type'));
于 2010-07-22T06:24:00.053 回答
2
$select->from(
    array('sh'=>'shopping'),
    array('shopping_id','shopping_details','friend'=>'type', 'alias'=>'column or expression')
);
于 2011-05-19T21:44:24.573 回答
0

对于 Zend Framework 2/3 或 Laminas,您必须使用Laminas\Db\Sql\Expression. 确保用双引号引用你的常量""

$select->from(['e' => 'experience'])
    ->columns([
        'id' => 'id',
        'value' => 'title',
        'name' => new Laminas\Db\Sql\Expression('"skill"')
    ]);

*对于 Zend Framework,表达式类的名称是Zend\Db\Sql\Expression.

于 2021-11-02T13:40:18.210 回答