2017-01-19 24 views
0

私はカテゴリのcatageoryパスを取得したい。Magento Collection間違った結果

私は親と子の名前を持って、私は次のことをやっている:私はSQL戻り1の上にそれを実行し、それが正しいSQLを返しエコー$categorys->getSelectSql();

で結果を確認し

$categorys = Mage::getResourceModel('catalog/category_collection') 
    ->addAttributeToFilter('name', array("like" => $sCatName)) 
    ->getFirstItem() 
    ->getChildrenCategories() 
    ->addAttributeToFilter('name', array("like" => $sCatNameChild)) 
    ->addAttributeToSelect('*'); 

猫(正しい)

私はコレクションをカウントし、そこでの8選択categorys(親のすべての潜水艦)

任意のidがありますなぜこれが起こっているのですか?

+0

返品する必要があるとお考えですか?あなたが最初の親カテゴリーを見つけようとしているように見えますし、特定の名前を持つすべての子を見つけることができますか? –

+0

それはまさに私が探しているものです。すべての親は別の名前を持つので、常にdiffernetの子を持つ親は1人だけです –

答えて

0

$ idがあなたのカテゴリのIDであると仮定します。あなたはこのようなパスを得るかもしれません。 $ category = Mage :: getModel( 'catalog/category') - > load($ id); $ path = explode( '/'、$ category-> getPath());

私はこのコードをテストしていませんが、動作する必要があります

+0

別の解決方法で問題を解決し、親を取得してforeachで子をフィルタします。私はコレクションから返されたSQLが真であるが、コレクションのメイジ結果が偽であるため、この質問をしました –