SilverStripe 3:DataObject为$的ModelAdmin对DataObject有许多错误
在SilverStripe 3中,我有两个相关的数据对象,SilverStripe 3:DataObject为$的ModelAdmin对DataObject有许多错误,silverstripe,modeladmin,Silverstripe,Modeladmin,在SilverStripe 3中,我有两个相关的数据对象,Order和OrderItem订单有许多订单项订单项有一个订单 我正在使用ModelAdmin管理订单 我可以创建一个新的OrderItem,但是当它尝试加载时,我得到以下错误: 选择不同的“OrderItem”“ClassName”“OrderItem”“Created”“OrderItem”“LastEdited”“OrderItem”“ItemQuantity”“OrderItem”“Item折扣”“OrderItem”“Order
Order
和OrderItem
<代码>订单有许多订单项
<代码>订单项有一个订单
我正在使用ModelAdmin管理订单
我可以创建一个新的OrderItem
,但是当它尝试加载时,我得到以下错误:
选择不同的“OrderItem”“ClassName”“OrderItem”“Created”“OrderItem”“LastEdited”“OrderItem”“ItemQuantity”“OrderItem”“Item折扣”“OrderItem”“OrderID”“OrderItem”“ProductID”“OrderItem”“ID”,如果“OrderItem”“ClassName”“不为空,则选择“OrderItem”“ClassName”“ELSE”“OrderItem”“结束为“RecordClassName”“Product”“Title”
来自“OrderItem”
其中(“OrderID”=“9”)和(“OrderItem”.“ID”=11)
按产品排序。标题ASC
限制1
“字段列表”中的未知列“Product.Title”
这是我的密码:
class Order extends DataObject {
public static $db = array(
'OrderDate'=>'Date',
'FulfilledDate'=>'Date',
'OrderStatus'=>'Enum("New, InvoiceRequested, InvoiceSent, Paid, Cancelled")',
'ShippingStatus'=>'Enum("Unshipped, Shipped")'
);
public static $has_one = array(
'Customer' => 'Customer'
);
public static $has_many = array(
'OrderItems' => 'OrderItem'
);
// ...
}
class OrderItem extends DataObject {
public static $db = array(
'ItemQuantity'=>'Int',
'ItemDiscount'=>'Decimal'
);
public static $summary_fields = array(
'Product.Title',
'ItemQuantity',
'ItemDiscount'
);
public static $has_one = array(
'Order' => 'Order',
'Product' => 'Product'
);
// ...
}
关于如何在产品
对象/表中添加加入ModelAdmin的想法
编辑
我发现了我的问题
public static $default_sort = array('Product.Title');
public static $default_sort = array('Product.Title');
删除该选项解决了问题。这样就少了一个未回答的问题,@MilesParker编辑到问题中: 我发现了我的问题
public static $default_sort = array('Product.Title');
public static $default_sort = array('Product.Title');
删除该选项修复了该问题
这一行应该在OrderItem
类上,因为这是SQL错误显示的内容。该问题可能是由于缺少dev/build
而导致的,但也可能是由于特定版本的Silverstripe 3.0中存在错误