Поскольку мне требуется сопоставить оценки продуктов в формате JSON, я создал модуль с контроллером и файл rating.php в папке модели. Мы запускаем контроллер, он отображает все данные из этой таблицы, но мне нужна только одна строка. Таким образом, через url я передаю параметр, но он не работает. Здесь я прилагаю свой indexcontroller.php. предложите мне это.Magento Controller отображает все строки из таблицы
<?php
class Modulename_CustomRating_IndexController extends Mage_Core_Controller_Front_Action
{
public function indexAction()
{
$arrParams = $this->getRequest()->getParams();
var_dump($arrParams);
$collection = Mage::getModel('Modulename_CustomRating_Model_CustomRating')->getCollection();
}
print_r (json_encode($collection ->getData()));
}
}
?>
Как я передаю URL, как: локальный/Magento/customrating vote_id = 1, оно принимает параметр к нему, но возвращает данные всей таблицы в?. Я знаю, что это связано с getData(); но как сделать, чтобы получить требуемую строку?
Вы должны посмотреть на функцию addAttributeToFilter() и добавить что-то вроде -> addAttributeToFilter ('vote_id', $ arrParams ['vote_id']) в свою коллекцию. – dagfr
Я не понял. Вы хотите, чтобы несколько строк (все продукты) имели только два столбца (идентификатор продукта, рейтинг) или одну строку (отфильтрованную по идентификатору продукта) со всеми данными для этого продукта? – enenen
@enenen Я хочу только одну строку, отфильтрованную идентификатором продукта. –