SilverStripe 3:DataObject为$的ModelAdmin对DataObject有许多错误

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

在SilverStripe 3中,我有两个相关的数据对象,
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中存在错误