4

SilverStripe 3 には、関連する 2 つの DataObjectsOrderOrderItem. Orderが多いOrderItemsOrderItemを持ってい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');

それを削除すると、問題が修正されました。

4

1 に答える 1