NAME
Handel::Order::Item - Module representing an individual order line item
SYNOPSIS
use Handel::Order;
my $order = Handel::Order->new({
id => '12345678-9098-7654-322-345678909876'
});
my $iterator = $order->items;
while (my $item = $iterator->next) {
print $item->sku;
print $item->price;
print $item->total;
};
DESCRIPTION
Handel::Order::Item is used in two main ways. First, you can create or edit order items individually:
use Handel::Order::Item;
my $item = Handel::Order::Item->new({
cart => '11111111-1111-1111-1111-111111111111',
sku => '1234',
price => 1.23,
quantity => 1
});
As a general rule, you probably want to add/edit items using the order objects items
and add
methods below instead.
Second, the items
method of any valid Handel::Order object returns a collection of Handel::Order::Item objects:
my @items = $order->items;
foreach (@items) {
print $_->sku;
};
CONSTRUCTOR
new
You can create a new Handel::Order::Item
object by calling the new
method:
my $item = Handel::Order::Item->new({
sku => '1234',
price => 1.23,
quantity => 1,
total => 1.23
});
$item->quantity(2);
print $item->total;
COLUMNS
The following methods are mapped to columns in the default order schema. These methods may or may not be available in any subclasses, or in situations where a custom schema is being used that has different column names.
id
Returns the id of the current order item.
print $item->id;
See "id" in Handel::Schema::Order::Item for more information about this column.
orderid
Gets/sets the id of the order this item belongs to.
$item->order('11111111-1111-1111-1111-111111111111');
print $item->order;
See "cart" in Handel::Schema::Order::Item for more information about this column.
sku
Gets/sets the sku (stock keeping unit/part number) for the order item.
$item->sku('ABC123');
print $item->sku;
See "sku" in Handel::Schema::Order::Item for more information about this column.
quantity
Gets/sets the quantity, or the number of this item being purchased.
$item->quantity(3);
print $item->quantity;
By default, the value supplied will be checked against "constraint_quantity" in Handel::Constraints to verify it is within the valid range of values.
See "quantity" in Handel::Schema::Order::Item for more information about this column.
price
Gets/sets the price for the order item. The price is returned as a stringified Handel::Currency object.
$item->price(12.95);
print $item->price;
print $item->price->format;
See "price" in Handel::Schema::Order::Item for more information about this column.
total
Gets/sets the total price for the order item as a stringified Handel::Currency object.
$item->total(12.95);
print $item->total;
print $item->total->format;
See "total" in Handel::Schema::Order::Item for more information about this column.
description
Gets/sets the description for the current order item.
$item->description('Best Item Ever');
print $item->description;
See "description" in Handel::Schema::Order::Item for more information about this column.
SEE ALSO
Handel::Order, Handel::Schema::Order::Item, Handel::Currency
AUTHOR
Christopher H. Laco
CPAN ID: CLACO
claco@chrislaco.com
http://today.icantfocus.com/blog/