Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Magento:从网站名称获取网站ID_Php_Magento - Fatal编程技术网

Php Magento:从网站名称获取网站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 非常感谢。您

正如标题所说。我不想要当前网站的ID,我想要任何网站的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网站`AS
main\u-table
WHERE(name='base')``中选择
main\u-table
*。`-但是我得到的只是一个空字符串?你能显示table-core\u网站中的行吗?