ich Migration mein Projekt von yii1 versuchen zu yii2. Ich habe einige Modellfunktion ich machen, wenn ich noch Yii1 verwenden, unter anderem ist id uniq Funktion, wie diese erzeugen:PHP Fatal Error ' yii base Error ' mit Nachricht ' Klasse ' Modellname ' nicht
public static function generateID($tableName, $modelName) {
$dateNow = date("Ymd");
$checkLastID = $modelName::findBySql(
"SELECT SUBSTR(MAX(id),-4) AS id FROM $tableName WHERE id LIKE '%$dateNow%'"
)->one();
$lastNumber = (int)substr($checkLastID["id"], 8,4);
if($checkLastID["id"] == '') {
$id = $dateNow.sprintf("%04s", 1);
} else {
$lastNumber = $checkLastID["id"];
$lastNumber++;
if($lastNumber < 10) $id = $dateNow.sprintf("%04s", $lastNumber);
elseif($lastNumber < 100) $id = $dateNow.sprintf("%04s", $lastNumber);
elseif($lastNumber < 1000) $id = $dateNow.sprintf("%04s", $lastNumber);
elseif($lastNumber < 10000) $id = $dateNow.sprintf("%04s", $lastNumber);
else $id = $lastNumber;
}
return $id;
}
und ich Zugriff auf die Funktion von der Steuerung wie folgt aus:
$model->id = Helper::generateID('table_name', 'ModelName');
und als, zeigen Fehler, wenn ich will Daten erstellen:
<pre>PHP Fatal Error 'yii\base\ErrorException' with message 'Class 'ModelName' not found'
in C:\xampp\htdocs\kampunginggrispare.com\common\models\Helper.php:61
Stack trace:
#0 [internal function]: yii\base\ErrorHandler->handleFatalError()
#1 {main}</pre>
Aber, wenn ich
ändernsein:
$checkLastID = ModelName::findBySql("SELECT SUBSTR(MAX(id),-4) AS id FROM table_name WHERE id LIKE '%$dateNow%'")->one();
Es ist Arbeit, aber funktioniert nicht, wenn ich Parameter verwenden, wie Funktion über
In Yii1, nicht Fehler, aber Fehler in Yii2
Jeder Körper kann mir helfen ??
Dank ...
Noch Fehler Mr. RiggsFolly –