3

そのため、私はかなり長い間この問題に取り組んできましたが、明確な解決策を見つけることができません。基本的に、Productオブジェクトを使用して新しい製品を db に直接追加しています。今のところうまくいきましたが、新製品をカテゴリにリンクすることができません。

$cat_ids = [];
    foreach ($value['kat_naziv'] as $cat_val) {
    $cat_ids[] = (int)$luceed->selectCategoryIds($cat_val)[$cat_val]['id_category'];
}

$product->id_category = 3;
$product->id_category_default = 3;

$product->save();

$product->addToCategories($cat_ids);

したがって、基本的に $cat_ids は、db から取得する整数の配列であり、name は、selectCategoryIds にパラメーターとして渡すものです。

新しく作成された製品を私が与えたカテゴリに関連付けない理由は何ですか?

4

3 に答える 3

2

新しい製品を作成した後 (つまり、 $product = new Product() )。を使用して製品にカテゴリを割り当てることができます。

$product->updateCategories($category_array); 

どこ

$category_array = array("0" => "2", "1" => "3", "4" => "6"...... );
于 2016-06-10T09:21:38.723 に答える
0

@FMEModuleそれはまさに私がそこで行ったことですが、データベースからのカテゴリのIDで配列を埋めました

とにかく、製品をカテゴリに関連付けるために独自のクエリを作成することになりました

于 2016-06-10T12:32:20.797 に答える