SilverStripe 3 には、関連する 2 つの DataObjectsOrderとOrderItem. Orderが多いOrderItems。OrderItemを持っていOrderます。
OrderModelAdminで管理しています。
新しいOrderItemものを作成できますが、ロードしようとすると次のエラーが発生します。
SELECT DISTINCT "OrderItem"."ClassName", "OrderItem"."Created", "OrderItem"."LastEdited", "OrderItem"."ItemQuantity", "OrderItem"."ItemDiscount", "OrderItem"."OrderID", "OrderItem"."ProductID", "OrderItem"."ID", CASE "OrderItem"."ClassName" IS NOT NULL THEN "OrderItem"."ClassName" ELSE 'OrderItem' END AS "RecordClassName", "Product". "Title" FROM "OrderItem" WHERE ("OrderID" = '9') AND ("OrderItem"."ID" = 11) ORDER BY Product.Title ASC LIMIT 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');
それを削除すると、問題が修正されました。