10/31/2011

CakePHP Sqlite3 ашиглах

CakePHP FW -н sqlite_open функц нь Sqlite2 хүртлэх хувилбарыг дэмждэг бөгөөд Sqlite3 ашиглах үед доорх алдаа үүсдэг.

file is encrypted or is not a database


Sqlite3 ашиглахын тулд дараах классыг ашиглаж болно.
Доорх линкээс татаад аваарай
Татах


Татаж авч задласны дараа файлуудаа доор бичсэний дагуу харгалзах дир-т хуулна.

dbo_sqlite3_spok.php - г cake/app/models/datasources/dbo/」
dbo_source.php - г 「cake/app/models/datasources/」


ӨС-тай холбох тохиргоог доорх байдлаар тохируулна.

var $default = array(
'driver' => 'sqlite3_spok',
'connect' => 'PDO',
'persistent' => false,
'host' => '',
'login' => '',
'password' => '',
'database' => 'sqlite:../your path/Your DB',
'prefix' => '',
'encoding' => 'UTF-8',
);


Гэвч scaffold,paginate г.м функцуудыг ашиглах үед дараах алдаа үүсдэг.

Call to undefined method DboSqlite3Spok::calculate()


Дээрх алдааг засахдаа dbo_sqlite3_spok.php-д дараах функцыг нэмээрэй.

function calculate(&$model, $func, $params = array()) {
$params = (array)$params;
switch (strtolower($func)) {
case 'count':
if (!isset($params[0])) { $params[0] = '*'; }
if (!isset($params[1])) { $params[1] = 'count'; }
return 'COUNT(' . $this->name($params[0]) . ') AS ' .$this->name($params[1]);
case 'max':
case 'min' :
if (!isset($params[1])) { $params[1] = $params[0]; }
return strtoupper($func) . '(' . $this->name($params[0]) . ') AS ' . $this->name($params[1]);
break;
}
}

0 санал,шүүмж:

 

Надад итгэл бий Copyright © 2009 WoodMag is Designed by Ipietoon for Free Blogger Template