3

我想知道是否有一种方法可以检查 mak:list 的 where 子句中的集合是否为空。

我想避免 mak:list 有问题的集合只是为了 mak:lastCount 它的大小。

4

2 回答 2

2

是的,因为您可以在 WHERE 条件中使用子查询。

使用来自http://www.makumba.org/page/DataModelHowto的数据定义,即带有一组的 company.Company

suppliers = set company.Company

你可以做类似的事情

<mak:list from="company.Company c" where="(SELECT count(s) FROM c.suppliers s) > 0">
....
</mak:list>

您还可以将其定义为 MDD 中的函数,例如

hasSuppliers() { (SELECT count(s) FROM suppliers s) > 0 }

然后在你的 <mak:list> 中使用它

<mak:list from="general.Company c" WHERE="c.hasSuppliers()">
....
</mak:list>
于 2011-03-17T16:52:35.577 回答
1

hasSuppliers() 可以简单地定义为

hasSuppliers(){exists(FROM suppliers s)}
于 2011-04-04T11:48:33.950 回答