2012-05-27 67 views
0

我試過stensi,但我發現它有一些錯誤和意外的輸出,如用戶指南中所述。stensi和WanWizard datamaper版本有什麼區別?

例如,試圖刪除一條記錄時,它提供這樣的錯誤:

$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。這些日子不再是一種選擇。它在2008年被Overzealous分解了,並且我在2010年接管了該叉的維護。

0

我通過將配置文件從sparks目錄移動到/ application/config目錄來解決此問題(在CI spark版本中)。

0

有一些奇怪的事情發生在CI v2.1.4其中

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

上的應用/庫391線/英寸的DataMapper-ORM v1.8.2.1 datamapper.php不是 「命名空間的」正確配置。如果你只是線391後做

print_r ($this->config); die; 

,你會看到所有的配置值都是在加載配置陣列內部一般笨「命名空間」。最小侵入性的方式來解決這個問題是從

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

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

是怎麼我得到了手動命名空間的的application/config/datamapper.php文件了,通過改變所有引用周圍。儘管@ Mhmdgomma的解決方案確實有效,但我更喜歡在有更簡單的解決方案時不要破解系統的核心。有人應該可能讓維護人員解決這個問題,但我不確定問題出在哪裏。它看起來更像是一個CI問題,而不是DM。

相關問題