MaterialsCalculator

Форк
0
/
CharacteristicsJsonToModel.php 
32 строки · 1000.0 Байт
1
<?php
2

3
namespace App\Console\Commands\Convert;
4

5
use App\Models\Characteristic;
6
use App\Models\Product;
7
use Illuminate\Console\Command;
8

9
class CharacteristicsJsonToModel extends Command
10
{
11
    protected $signature = 'app:convert-characteristics';
12

13
    protected $description = 'Переносит характеристики продуктов из JSON поля в отдельную модель.';
14

15
    public function handle()
16
    {
17
        $products = Product::all();
18

19
        foreach($products as $product) {
20
            foreach($product->characteristics as $characteristic) {
21
                if(!empty($characteristic['name'])) {
22
                    Characteristic::query()->create([
23
                        'name' => $characteristic['name'],
24
                        'type' => $characteristic['type'],
25
                        'slug' => $characteristic['slug'] ?? '',
26
                        'product_id' => $product->id
27
                    ]);
28
                }
29
            }
30
        }
31
    }
32
}
33

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.