gpt4 book ai didi

php - 如何在 laravel Eloquent 中将 int 转换为字符串?

转载 作者:行者123 更新时间:2023-11-29 05:08:28 27 4
gpt4 key购买 nike

我的 mysql 查询是这样的:

SELECT b.id, b.name, COUNT(*) AS count_store
FROM stores a
JOIN locations b ON CONVERT(b.id,CHAR) = a.address->'$."regency_id"'
GROUP BY b.id
ORDER BY count_store DESC
LIMIT 10

如果我使用 mysql 查询:CONVERT(b.id,CHAR) 将 int 转换为 string

如何在 laravel eloquent 中将 int 转换为 string?我正在使用 Laravel 5.3。

我试过这样的:

$stores = Store::select('locations.name','COUNT(*) AS count_store')
->join('locations', 'locations.id', '=', 'stores.address->regency_id')
->groupBy('locations.id')
->orderBy('count_store', 'desc')
->limit(10)
->get();

但是没有效果

最佳答案

如果您想使用非常自定义的连接条件,例如涉及一个或两个列的转换,那么我不确定如果没有至少一些种原始句法。因此,您应该考虑@Rodrane 给出的答案以及这个答案:

$stores = Store::select('locations.id', 'locations.name', DB::raw('COUNT(*) AS count_store'))
->join('locations', DB::raw("CONVERT(locations.id, CHAR)"), '=', 'stores.address->regency_id')
->groupBy('locations.id', 'locations.name')
->orderBy('count_store', 'desc')
->limit(10)
->get();

请注意,我做了以下更改:

  • 使用 DB::raw() 为计数提供自定义别名
  • location.name 添加到 GROUP BY(和 select)子句
  • 使用另一个 DB::raw() 来处理连接条件中的转换

关于php - 如何在 laravel Eloquent 中将 int 转换为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43842445/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com