2012-05-27 2 views
0

Я пробовал stensi, но я вижу, что он имеет некоторые ошибки и неожиданный выход, как указано в руководстве пользователя.В чем разница между версиями datamaper stensi & WanWizard?

Например, при попытке удалить запись дает эту ошибку:

$p=new Per(); 
$p->where('id',1)->get(); 
$p->delete(); 

с сообщением об ошибке в:

undefined index id 

когда

echo $p->UserName; 

выходов:

mhmd 

и WanWizard также имеет эту ошибку:

<h4>A PHP Error was encountered</h4> 

<p>Severity: Warning</p> 
<p>Message: array_key_exists() expects parameter 2 to be array, boolean given</p> 
<p>Filename: libraries/datamapper.php</p> 
<p>Line Number: 399</p> 

Как я могу преодолеть эти ошибки или то, что я могу сделать, чтобы заставить его работать правильно?

ответ

0

Я изменил две строки кода в ../libraries/datamapper.php строке 399 (WanWizard версия):

$d = array($this->config->item('datamapper')); 
DataMapper::$config = $d; 

и сообщение об ошибке исчезло.

Если кто-то попробовал DataMapper и имеет лучшее предложение, сообщите нам об этом.

0

только что узнал, эта ошибка может возникнуть, если вы автозагрузку файл DataMapper конфигурации

0

оригинальная версия Stensi в не поддерживается с 2007 года, и поддерживает только CI 1,4. На самом деле в наши дни больше не вариант. Он был раздвоен Oversealous в 2008 году, и я взял на себя обслуживание этой вилки в 2010 году.

0

Я исправил это (в искровой версии CI), переместив файл конфигурации из каталога искры в каталог/application/config.

0

Там что-то странное происходит в CI v2.1.4 где

$this->config->load('datamapper', TRUE, TRUE); 

по линии 391 приложения/библиотеки/datamapper.php в DataMapper-ОРМ v1.8.2.1 не "разделяет пространства имен" config правильно. Если вы

print_r ($this->config); die; 

только после того, как линии 391, вы увидите все значения конфигурации находятся в общих CodeIgniter «имена» внутри загруженного массива конфигурации. Ненавязчивый способ обойти это вручную Пространство имен приложение/Config/datamapper.php файл самостоятельно, изменив все ссылки из

$config['prefix'] = ''; 
$config['join_prefix'] = ''; 
... 

в

$config['datamapper']['prefix'] = ''; 
$config['datamapper']['join_prefix'] = ''; 
... 

Вот как я получил вокруг него. Хотя исправление @ Mhmdgomma работает, я предпочитаю не взламывать ядро ​​системы, когда есть более простое решение. Кто-то должен, вероятно, заставить сопровождающих исправить это, но я не уверен, где проблема. Это больше похоже на проблему CI, а не на DM.