2017-02-16 2 views
0

Durch ein Logichook, ich versuche, einen neuen Quote-Datensatz durch die Bean-Klasse einzufügen. Das Feld "quote_num" ist ein Autoinkrementierungsfeld. Wenn ich diesen Code unten versuche, anstatt ihn in MySQL mit dem von mir spezifizierten Anführungszeichen einzufügen, verwendet er die nächste Zahl in der Autoinkrementierungssequenz. Ich weiß, ich könnte einfach einen SQL-INSERT verwenden, aber ich versuche, bei der Bean zu bleiben. Irgendwelche Ideen?SugarCRM 7 überschreiben auto-increment Feld

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

Hoffnung wird dieser Link u https://community.sugarcrm.com/thread/28762-autoincrement-field – TomPHP

Antwort

0

Für Auto Increment: Sie können wie unten tun,

$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

Dank für die Beantwortung helfen . Ihr Beispiel zeigt mir, wie man durch Code automatisch inkrementiert. Mein Problem ist, dass das Autoinkrement auf der MySQL-Ebene stattfindet und ich versuche, das automatische Inkrement zu vermeiden, indem ich die Bean in Sugar anstelle einer SQL-Anweisung verwende. –

+0

könnten Sie genauer ausdrücken, was Sie wollen. –

+0

Quote_num ist ein Autoinkrementfeld. Nehmen wir an, es ist bei 200000. Wenn ich die Sugarbohne ($ newQuote-> quote_num) verwende und 900000 als Zitatnummer zuweise, ignoriert es 900000 und fügt nur als 200001 in die DB ein, da es die nächste Nummer in der Autoinkrementierungssequenz ist. Ich möchte manuell eine Zahl höher als das nächste Inkrement einfügen, während Sie die Sugarbohne verwenden. –