Zend DB 选择常量 - 表中不存在的列

发布于 2024-09-10 17:39:29 字数 394 浏览 11 评论 0原文

我正在尝试使用 Zend DB select 执行此查询,但我无法这样做

这是 sql 查询

select shopping_id,shopping_details,"friend" as type
from shopping

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

现在我该如何在 Zend 中执行此操作。我已经尝试过这个,但它给了我一个错误,说“sh.friend 列不存在”

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

任何帮助将不胜感激 谢谢

I'm trying to do this query using Zend DB select but I'm not able to do so

This is the sql query

select shopping_id,shopping_details,"friend" as type
from shopping

Notice here how I'm specifying "friend" as type and friend is not a column in the shopping table.

Now how do I do this in Zend. I have tried this but it gives me an error saying "sh.friend Column does not exist"

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

Any help will be appreciated
thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

脸赞 2024-09-17 17:39:29

尝试使用 Zend_Db_Expr,也许类似:

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

Try with Zend_Db_Expr, maybe something like:

$select->from(array('sh'=>'shopping'),
    array('shopping_id','shopping_details',
         new Zend_Db_Expr('"friend" as type'));
若相惜即相离 2024-09-17 17:39:29
$select->from(
    array('sh'=>'shopping'),
    array('shopping_id','shopping_details','friend'=>'type', 'alias'=>'column or expression')
);
$select->from(
    array('sh'=>'shopping'),
    array('shopping_id','shopping_details','friend'=>'type', 'alias'=>'column or expression')
);
审判长 2024-09-17 17:39:29

对于 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

For Zend Framework 2/3 or Laminas you have to use Laminas\Db\Sql\Expression. Make sure to quote your constant with a double-quote "".

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

*for Zend Framework the name of the expression class is Zend\Db\Sql\Expression.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文