->load() ->setId

различия

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
#1 Евгений Смирнов
  • Группа: Заблокирован
  • Сообщений: 81
  • Регистрация: 03.03.2011

25.03.2011 10:33

Правильно ли я понял что не всем моделям доступен ->load(id)? Потому что вчера пробовал подгрузить модель(инвойс или ордер точно не помню) и она не принимала ->load, но зато ->setId на раз восприняла.

#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8885
  • Регистрация: 20.02.2010

25.03.2011 12:06

Какое конкретно поведение/сообщение интерпретатора PHP и системы Magento вы обозначили глаголом «не принимала»?

#3 Евгений Смирнов
  • Группа: Заблокирован
  • Сообщений: 81
  • Регистрация: 03.03.2011

28.03.2011 11:44

Не принимала, значит когда я вызывал метод load, в ответ приходил null. Если я делаю setid и делаю какие-либо запросы к объекту, то он возвращает ряды данных. Пример кода, может я, конечно, что-то неправильно делаю:


...


 	$api = Mage::getModel('sales/order_invoice_api');
	$invoices_items = $api->items();
	foreach($invoices_items as $_invoice){	
		$invoice = array();
		$order = Mage::getModel('sales/order')->setId($_invoice['order_id']);
		
		$billing_address=Mage::getModel('sales/order_address')->load($_invoice['billing_address_id']);
		$shipping_address=Mage::getModel('sales/order_address')->load($_invoice['shipping_address_id']);

...



Если у ордера сделать load по ид, то приходит ноль.

#4 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8885
  • Регистрация: 20.02.2010

28.03.2011 13:25

Просмотр сообщенияbugger (28.03.2011 11:44) писал:

когда я вызывал метод load, в ответ приходил null


Для объекта какого класса вы вызывали метод load?

#5 Евгений Смирнов
  • Группа: Заблокирован
  • Сообщений: 81
  • Регистрация: 03.03.2011

28.03.2011 14:39

К сожалению, делал на прошлой неделе, поэтому могу ошибаться, но вроде бы это как раз объект order.

#6 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8885
  • Регистрация: 20.02.2010

28.03.2011 14:42

Вероятно, ошибаетесь.
У объекта класса 'sales/order' метод load присутствует.
А вот, например, у объекта класса 'sales/order_invoice_api' метод load отсутствует.

Поделиться темой: