Ошибка в классе shopProductStocksModel Принято

1

Метод set

Если не передавать туда $product_id, который не является обязательным, MySQL вышибает ошибку.

Почему:

if (empty($data['product_id'])) {
            $product_skus_model = new shopProductSkusModel();
            $data['product_id'] = $product_skus_model->select('product_id')->
                    where('sku_id = :sku_id', array(
                        'sku_id' => $data['sku_id']
                    ))->fetchField();
        }

В таблице shop_product_skus нет поля sku_id. Id артикулов там пишутся в поле id

1 комментарий

  • +1
    BNP (Дмитрий) BNP (Дмитрий) 24 сентября 2016 15:35 #

    Я таки еще раз подниму этот вопрос.

    Делай раз:

    $stock_data = array(
        'sku_id' => 6, 
        'stock_id' => 1, 
        'count' => null,
    );

    Делай два:

    $product_stocks_model = new shopProductStocksModel();
    $product_stocks_model->set($stock_data);

    Получай три:

    Query Error 1054: Unknown column 'sku_id' in 'where clause'
    Query: SELECT product_id FROM shop_product_skus WHERE (sku_id = '6')
    #0.../wa-system/database/waModel.class.php(343): waModel->run('SELECT product_...')
    #1 .../wa-system/database/waDbQuery.class.php(104): waModel->query('SELECT product_...')
    #2 .../wa-apps/shop/lib/model/shopProductStocks.model.php(512): waDbQuery->fetchField()
    #3 .../wa-apps/shop/plugins/****/lib/classes/****.class.php(603): shopProductStocksModel->set(Array)

    Ну или что я делаю не так?


    Добавить комментарий

    Чтобы добавить комментарий, зарегистрируйтесь или войдите