Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

オブジェクトの保存とクローズ

Film オブジェクトを更新した後、その %Save メソッドを呼び出して、データベース内に保存します。

次にこの注文が完了し、保存されたことを示すために TicketOrder オブジェクトの Complete プロパティを 1 (True) に設定します。TicketItem オブジェクトを保存したり、終了する必要はありません。関連する TicketOrder オブジェクトが保存されるとき、Caché は自動的に以上のことを行います。

—Utils.CompleteOrder—
Utils.CompleteOrder
ClassMethod CompleteOrder()
{
    If $data(%session.Data("Order")) {
        // Open the current order object
        Set ord = ##class(Cinema.TicketOrder).%OpenId(%session.Data("Order"))

        // Update the number of tickets sold for each film in the order
        For i = 1:1:ord.Items.Count() {
            Set itm = ord.Items.GetAt(i)
            Set flm = itm.Show.Film
            Set flm.TicketsSold = flm.TicketsSold +
                itm.AdultTickets + itm.ChildTickets
            Set cat = flm.Category.%Id()
            Do flm.%Save()
        }
        // Mark order as complete and save
        Set ord.Complete=1
         Do ord.%Save()
        // ...
    }
}
FeedbackOpens in a new tab