如何对 Redbean sharedList 进行排序/排序

Posted

技术标签:

【中文标题】如何对 Redbean sharedList 进行排序/排序【英文标题】:How to sort/order Redbean sharedList 【发布时间】:2014-07-11 07:46:42 【问题描述】:

在我的应用程序中,成员实体从一组预定义的问题实体中选择一个。

我将它们保存为共享列表并对其进行迭代($member->sharedQuestion)。

现在我需要对它们进行排名,因此我通过名为“位置”的链接 bean (member_question) 添加了另一列。

我的问题是 - 我可以让 redbean 检索按“位置”列排序的问题吗?

我目前正在做一个

foreach($member->sharedQuestion as $question).......

我知道我可以在开始迭代之前获取数组属性并通过自定义排序处理程序运行它,但这似乎很昂贵。

有谁知道例如将一些 sql(即“ORDER BY 位置”)附加到 sharedList 的 Redbean 方法?

【问题讨论】:

【参考方案1】:

尽管多次阅读 Redbean 文档,我还是错过了(非常简单的)解决方案。

添加 ->with() 方法会将额外的 sql 应用于查询。所以我需要做的是;

foreach($member->with("ORDER BY position")->sharedQuestion as $question).......

我的问题得到了优雅的解决!

【讨论】:

以上是关于如何对 Redbean sharedList 进行排序/排序的主要内容,如果未能解决你的问题,请参考以下文章

RedBean 关系定义

Redbean php对同一个表的多个多对多关系

不能在 RedBean 中存储盒装模型?

RedBean 中的多个关系

预打包的 Redbean 仅获取一个(最后一个)行

在 Redbean 中给出链接 bean 表的名称是不是有规则?