【发布时间】:2013-04-17 09:20:15
【问题描述】:
在 SilverStripe 3 中,我有两个相关的 DataObjects,Order 和 OrderItem。 Order 有很多 OrderItems。 OrderItem 有一个 Order。
我正在使用 ModelAdmin 管理 Order。
我可以创建一个新的OrderItem,但是当它尝试加载时,我收到以下错误:
SELECT DISTINCT "OrderItem"."ClassName", "OrderItem"."Created", "OrderItem"."LastEdited", "OrderItem"."ItemQuantity", "OrderItem"."ItemDiscount", "OrderItem"." OrderID", "OrderItem"."ProductID", "OrderItem"."ID", CASE WHEN "OrderItem"."ClassName" IS NOT NULL THEN "OrderItem"."ClassName" ELSE 'OrderItem' END AS "RecordClassName", "产品”.“标题” 来自“订单项” WHERE ("OrderID" = '9') AND ("OrderItem"."ID" = 11) ORDER BY Product.Title 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 中的联接添加到 Product 对象/表有任何想法吗?
编辑
我找到了我遇到的问题。
public static $default_sort = array('Product.Title');
删除修复了问题。
【问题讨论】: