#php #sql #magento
#php #sql #магенто
Вопрос:
Я хотел бы изменить этот фрагмент для извлечения некоторых данных из таблицы, и вместо запуска первичного ключа (который выглядит как поведение функции load () по умолчанию), я хотел бы запустить другое поле в моем запросе … Как я могу это сделать?
$mytable = Mage::getModel('mytable/mytable')->load($mytable_id)->getData();
спасибо
Ответ №1:
Вы можете использовать коллекцию:
$mytable = Mage::getModel('mytable/mytable')->getCollection()->addFieldToFilter('your_attribute_code', 'your_filter_value'); // here you'll get a collection
В противном случае:
$mytable = Mage::getModel('mytable/mytable')->load('filter_value', 'attribute_code');
Комментарии:
1. Спасибо, но знаете ли вы, как использовать атрибут sql: «LIKE» с таким фрагментом (первым, который вы мне дали)?
2. Вот пример с ПОДОБНЫМ: $mytable = Mage::getModel(‘mytable/mytable’)->getCollection()->addFieldToFilter(‘name’, array(‘like’ => ‘abc%’));
Ответ №2:
Если вы используете -> getCollection(), возможно, вам потребуется использовать -> getFirstItem(), чтобы получить только первый элемент.
$mytable = Mage::getModel('mytable/mytable')->getCollection()->addFieldToFilter('your_attribute_code', 'your_filter_value')->getFirstItem();