2017-02-16 4 views
0

Через logichook я пытаюсь вставить новую запись Quote через класс bean. Поле «quote_num» является полем автоматического увеличения. Когда я пытаюсь использовать этот код ниже, вместо того, чтобы вставлять в MySQL с указанием quote_num i, он использует следующее число в последовательности автоматического инкремента. Я знаю, что могу просто использовать SQL INSERT, но я пытаюсь придерживаться компонента. Есть идеи?SugarCRM 7 переопределяет поле автоинкремента

$newQuote = new Quote(); 
$newQuote->name = "Web Order"; 
$newQuote->quote_num = 902011; 
$newQuote->quote_order_c = $orderorcredit; 
$newQuote->save(); 
+0

Надежда эта ссылка поможет у https://community.sugarcrm.com/thread/28762-autoincrement-field – TomPHP

ответ

0

Для Auto Increment: Вы можете сделать, как показано ниже,

$count = "SELECT IFNULL(MAX(your field), 0) as count FROM table;    

       $count = ''; 
       while ($row = $GLOBALS['db']->fetchByAssoc($result)) { 
        $count_coc = $row['count']; 
       } 
       $bean->ignore_update = true; 
       $bean->number_c = $count_coc + 1; 
       $bean->save(); 
+0

Спасибо за ответ , Ваш пример показывает мне, как автоинкремент через код. Моя проблема заключается в том, что автоинкремент происходит на уровне MySQL, и я стараюсь избегать автоматического приращения, используя bean-компонент в Sugar, а не инструкцию SQL. –

+0

Вы могли бы более четко уточнить, какой результат вы хотите. –

+0

Quote_num - это поле автоматического приращения. Предположим, что это на 200000. Если я использую сахарный компонент ($ newQuote-> quote_num) и присваиваю 900000 как quote_num, он игнорирует 900000 и просто вставляет в БД как 200001, поскольку это следующее число в последовательности автоматического инкремента. Я хочу вручную вставить число, превышающее следующий приращение, при использовании сахара. –

Смежные вопросы