Ich brauche eine Aufzeichnung auf Datenbank zu vervielfältigen, und wenn vorhanden eine Nummer hinzufügen neben dem Namen, zum Beispiel:doppelte Datensatz eine Nummer hinzufügen, wenn vorhanden
MyRecord
MyRecord duplizieren 1
Wenn i Duplikat wieder
Mein Rekord duplizieren 2 und so weiter ...
ich habe versucht,
foreach($records as $record) {
$nombre = $record->name;
$newName= $record->name." - DUPLICATED 1";
//If exists
if ($nombre = $newName) {
$valor = substr($nombre, -1); //Get last value of string, it will be the number, its always at the end.
$num = $valor;
$int = (int)$num;
$float = (float)$num;
$float++;
$newName= $record->name." - DUPLICATED ".$float;
//Second try
if ($nombre = $newName) {
$valor = substr($nombre, -1);
$num = $valor;
$int = (int)$num;
$float = (float)$num;
$float++;
$today = Carbon::now();
DB::table('table')->insert(...
Das Problem ist, wenn die foreach kommt es wieder trieds den Wert a ein Duplikat auf Namen machen einzufügen, so habe ich jetzt
Namen duplizieren 1
Namen duplizieren 2
Namen duplizieren 2 -> anstelle von 3
'if ($ nombre = $ newName)' Ich glaube, dass Sie hier zuweisen, anstatt zu vergleichen, if ($ nombre == $ newName) ' –
das Problem ist, scheint es nicht die neuesten Datensatz mit dem gleichen zu finden Name ... ich denke, dass das Problem, also, wenn es einen gleichen Namen gibt, float ++ und es wird einen neuen Namen haben ... das ist meine Logik ... vielleicht bin ich falsch. – lucasvm1980