在 SilverStripe 3 中,我有两个相关的 DataObject, Order
和 OrderItem
。 Order
有很多 OrderItems
。 OrderItem
有一个 Order
。
我正在使用 ModelAdmin 管理 Order
。
我可以创建一个新的 OrderItem
但是当它尝试加载时出现以下错误:
这是我的代码:
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 中的连接添加到
Product
对象/表的任何想法?编辑
我已经找到了我遇到的问题。
public static $default_sort = array('Product.Title');
删除它解决了问题。
最佳答案
就这样还有一个未回答的问题,@MilesParker 编辑了这个问题:
这一行应该在 OrderItem
类上,因为这是 SQL 错误显示的内容。该问题可能是由于缺少 dev/build
引起的,但也可能是由于该特定版本的 Silverstripe 3.0 中存在错误。
关于SilverStripe 3 : ModelAdmin with DataObject with $has_many to DataObject gives error,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16181570/