Php Magento:从网站名称获取网站ID
正如标题所说。我不想要当前网站的ID,我想要任何网站的ID,只提供该网站的名称 我有以下代码:Php Magento:从网站名称获取网站ID,php,magento,Php,Magento,正如标题所说。我不想要当前网站的ID,我想要任何网站的ID,只提供该网站的名称 我有以下代码: $siteModel = Mage::getResourceModel( 'core/website_collection' )->addFieldToFilter( 'name', $site )->getFirstItem(); $siteId = $siteModel->getId(); 但是,$siteId最终为空 如果我只有一个网站的名称,我如何获得它的ID 非常感谢。您
$siteModel = Mage::getResourceModel( 'core/website_collection' )->addFieldToFilter( 'name', $site )->getFirstItem();
$siteId = $siteModel->getId();
但是,$siteId
最终为空
如果我只有一个网站的名称,我如何获得它的ID
非常感谢。您需要通过
->getSelect()->\uu-toString()
检查它是否给出正确的值
$siteModelCollection = Mage::getResourceModel( 'core/website_collection' )->addFieldToFilter( 'name', $site );
// print the Query
echo $Query = $siteModelCollection ->getSelect()->__toString();
echo $siteId =$siteModelCollection->getFirstItem()->getId();
更新:
使用load():
对于这种情况,您需要调用core/website
的resource model
函数load()
现在,您可以使用以下代码获取第一家店铺的id:
$siteModelCollection = Mage::getResourceModel('core/website_collection')->load()->addFieldToFilter( 'name', $site);
echo $Query = $siteModelCollection ->getSelect()->__toString();
echo $siteId =$siteModelCollection->getFirstItem()->getId();
您错误地使用了
addFieldToFilter
方法。
尝试以下方法:
$website = Mage::getModel('core/website')
->getCollection()
->addFieldToFilter('name', array('eq', $siteName))
->getFirstItem();
$websiteId = $website->getId();
你的代码对我有用。但是,如果可以的话,我建议您使用网站“代码”而不是网站“名称”。你确定你提供的名字是对的吗?@adrien54我提供的名字是
base
。当我从$siteModel集合输出SQL时(使用->\uuuu-toString()
),我得到以下结果:从core\u网站`ASmain\u-table
WHERE(name='base')``中选择main\u-table*。`-但是我得到的只是一个空字符串?你能显示table-core\u网站中的行吗?