diff --git a/app/Services/TG/Hook/Dog.php b/app/Services/TG/Hook/Dog.php index f10e45c5..eeaeaae4 100644 --- a/app/Services/TG/Hook/Dog.php +++ b/app/Services/TG/Hook/Dog.php @@ -357,10 +357,11 @@ class Dog extends Mod\Base { public function clone($aParam) { $sValue = $aParam['aArg'][1] ?? false; - $sWhereField = $aParam["aOption"][1] ?? $this->sPrimaryKey; +// $sWhereField = $aParam["aOption"][1] ?? $this->sPrimaryKey; + $sKeyType = $aParam["aOption"][1] ?? "int"; if ($sValue == "?") { - return "#clone__{whereField?primary} {whereValue}"; + return "#clone__{keyType?int:int,str,int自增str随机} {whereValue}"; } if (!$sValue) { @@ -368,7 +369,6 @@ class Dog extends Mod\Base { } // 查找文章 -// $oModelSelf = $this->oModelSelf->find($iId); $oModelSelf = $this->oModelSelf->where($this->sPrimaryKey, $sValue)->first(); if (!$oModelSelf) { @@ -376,10 +376,13 @@ class Dog extends Mod\Base { } $oModelSelfNew = $oModelSelf->replicate(); + if ($sKeyType == "str") { + $oModelSelfNew->code = $oModelSelfNew->{$this->sPrimaryKey}."-clone".rand(0, 9999); + } $oModelSelfNew->save(); $aParam = []; - $aParam["aArg"][1] = $oModelSelfNew->$sWhereField; + $aParam["aArg"][1] = $oModelSelfNew->{$this->sPrimaryKey}; return $this->find($aParam); }