Как добавить категорию продукта к названию продукта? - PullRequest
1 голос
/ 28 мая 2020

В моем проекте Laravel 6.x у меня есть модели Product, ProductCategory.

Модель продукта:

class Product extends Model {

    protected $fillable = [
        'id',
        'item_number'
        'producer_item_number',...



foreach ($product_categories as $product_category) {
            // if you generate part to products

            if ($product_category->is_create_piece_part) {
                foreach ($product_category->piecePartPrefixes as $piece_part_prefix) {

                    // we make a copy of the product based on the prefixes set in the category
                    $piece_part_product = Product::find($product_id)->replicate();

                    // rewrite the item number with prefix
                    $piece_part_product->item_number = $piece_part_prefix->name . '-' . $piece_part_product->item_number;

                    // save new product
                    $piece_part_product->save();

                    // again original product
                    $product = Product::where('id', $product_id)->with(['brands', 'names', 'properties', 'variants'])->first();

                    // copy original product name
                    foreach ($product->names ?? [] as  $name) {
                        $piece_part_product->names()->create([
                            'lang_id' => $name->lang_id,
                            'name' =>  $name->name  . ' ' . $product->brands[0]->name . ' ' . $product->producer_item_number,
                        ]);
                    }

Модель ProductCategory:

class ProductCategory extends Model {

    protected $fillable = [
        'id',
        'code', ...

префикс пишется в номере детали артикула детали, исходя из этого, префикс должен использоваться для поиска категории, в которую программа помещает артикул детали.

Например, если префикс "AKKO" следует отнести к группе статей "Детали оправы очков - центр". И не только в группе статей «Оправа для очков».

Как я узнаю, что решает?

...