我需要为下面的SQL查询编写一个BQL语句
<div class='layout'>
<div class="header">
domain.com
</div>
<div class="primary">
Primary Content (centre column)
</div>
<div class="left-col">
Left hand content
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer nec odio.</p>
</div>
<div class="right-col">
Right hand content
</div>
<div class="footer">
<strong>© All rights reserved</strong>
</div>
</div>
CSAttribute中的EntityClassID和清单中的ItemClassID是不同的类型。如何使用BQL联接表。
答案 0 :(得分:0)
尝试创建一个自定义视图,该视图以ITEMCLASSID强制转换表示INVENTORYITEM表。但是,不建议使用自定义视图。而是尝试创建一个PXProjection以将INVENTORYITEM表表示为usrINVENTORYITEM。然后使用PXString转换Int?到一个字符串。暴露后,您可以如下所示计算BQL。
#region InventoryItem - projection
[PXProjection(typeof(Select<InventoryItem>), Persistent = false)]
public partial class usrInventoryItem : InventoryItem
{
#region ItemClassIDStr
[PXString(10, IsUnicode = true)]
[PXUIField(DisplayName = "ItemClassIDStr", Visibility = PXUIVisibility.SelectorVisible)]
public virtual string ItemClassIDStr
{
get
{
return $"{ItemClassID}";
}
set
{
this.ItemClassIDStr = value;
}
}
public abstract class itemClassIDStr : IBqlField { }
#endregion
}
#endregion
然后是BQL语句:
// basic example of your join.
public PXSelectJoin<CSAttributeGroup, LeftJoin<usrInventoryItem,
On<usrInventoryItem.itemClassIDStr, Equal<CSAttributeGroup.entityClassID>>>> ExampleJoin;