gpt4 book ai didi

php - 按特殊关系排序查询并分页

转载 作者:行者123 更新时间:2023-11-28 23:29:59 26 4
gpt4 key购买 nike

我有一个网站使用 Laravel 分页在一个页面上列出不同的产品。此页面上的产品应按其名称排序,但问题就出在这里。

我的数据库结构如下所示:

+----------+    +--------------+
| Products | | Translations |
+----------+ +--------------+
| Id | | product_id |
| ... | | slug |
+----------+ | locale |
| value |
+--------------+

translations 表中提供了每个产品的名称,其中 slug='name'。但是,并非每个产品在每个可用的 locale 中都有翻译。
产品名称应该是给定语言环境中的翻译。如果这不可用,则使用英文名称。如果这也不可用,则使用第一个可用的翻译。

是否有可能在 Eloquent 或 MySQL 中执行此操作?我一直在寻找解决方案,但找不到能做到这一点的解决方案。

最佳答案

您应该尝试使用 COALESCE函数,它返回第一个非空值,例如:

SELECT COALESCE(<sub-query by locale>, 
<sub-query to bring english name>,
<sub-query to bring any other value you want>) FROM product;

关于php - 按特殊关系排序查询并分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37657762/

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