ในการรับไอเท็มแรกในคอลเล็กชันให้ใช้getFirstItem()
ฟังก์ชันในการรวบรวม
ตัวอย่าง:
// this gets all the products
$productCollection = Mage::getResourceModel('catalog/products_collection');
// this line gets just the first product
$firstItem = $productCollection->getFirstItem();
ตัวอย่างที่ 2 (สำหรับคำถามนี้โดยเฉพาะ):
$_category = $this->getCurrentCategory();
$_collection = $_category->getProductCollection();
$_product = $_collection->getFirstItem(); // this will get first item in collection
พื้นที่อื่น ๆ ที่สามารถใช้ได้:
ลูกค้า
$customerCollection = Mage::getResourceModel('customer/customer_collection');
$firstCustomer = $customerCollection->getFirstItem();
สั่งซื้อ
$orderCollection = Mage::getResourceModel('sales/order_collection');
$firstOrder = $orderCollection->getFirstItem();
โปรดทราบ:
ไม่ใช่ความคิดที่ดีที่จะโหลดผลิตภัณฑ์ / ลูกค้า / คำสั่งซื้อทั้งหมดนี้ใช้ทรัพยากรจำนวนมาก วิธีที่ต้องการคือ จำกัด สิ่งที่คุณต้องการโหลดโดยใช้addAttributeToFilter()
หรือaddFieldToFilter()
ฟังก์ชั่นดูตัวอย่างด้านล่าง:
$productCollection = Mage::getResourceModel('catalog/product_collection')
->addAttributeToFilter('sku', 'book123`);
$_product = $_collection->getFirstItem()