2016-02-24 6 views
9

私は5時間頭を撫でていましたが、やっと問題を解決しましたが、理由を知らずに寝ることができません。問題をまず説明しましょう。Codeigniter HMVC + ion_auth設定項目の読み込みに問題があります

私はcodeigniter HMVC拡張を使用し、別のモジュールとしてion_authをインストールしました。

|-modules 
|--auth 
|---config 
|-----ion_auth.php 
|---controllers 
|-----auth.php 
|---models 
|-----ion_auth_model.php 
|---views 

私はユーザーのグループを取得しようとしていたとき、私は有線SQLエラーを取得し始めました。その後、問題を絞り、config/ion_auth.phpの項目がion_auth_model.phpファイルに読み込まれていないことを確認しました。

ERROR - 2016-02-24 20:09:26 --> Query error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'as id , . name , . description JOIN ON .=. id WHERE . = '2'' at line 1 - Invalid query: SELECT . as id , . name , . description JOIN ON .=. id WHERE . = '2'

は、その後、私は詰め込むのカップルを試してみましたが、私はion_auth_model.phpすべてのメソッド呼び出しの カップルからインデックス'ion_auth'を削除するときに機能し始めました。

私はそれが働いていた、なぜ誰も私を伝えることができ

$this->tables = $this->config->item('tables'); 
$this->join   = $this->config->item('join'); 

$this->tables = $this->config->item('tables', 'ion_auth'); 
$this->join   = $this->config->item('join', 'ion_auth); 

を変えましたか?

+0

は、次のようにion_authの設定がロードされている:の$ this - >ロード - >設定( 'AUTH/ion_auth'、TRUE); – adarshdec23

+0

はい。それはそのようにロードされます – Fawzan

答えて

1

これはファイルシステム\コアに見出さCodeIgniterの機能CONFIG->アイテム()の内部実装で\のconfig.php

/** 
* Fetch a config file item 
* 
* @param string $item Config item name 
* @param string $index Index name 
* @return string|null The configuration item or NULL if the item doesn't exist 
*/ 
public function item($item, $index = '') 
{ 
    if ($index == '') 
    { 
     return isset($this->config[$item]) ? $this->config[$item] : NULL; 
    } 

    return isset($this->config[$index], $this->config[$index][$item]) ? $this->config[$index][$item] : NULL; 
} 

もし$indexパラメータを渡し、関数チェック両方のパラメータであればconfig内で初期化され、CIインスタンスのconfig[$index]を返します。いずれかが初期化されていない場合はnullです。

config[$item]がCIインスタンスに設定されていない場合、この関数は常にnullを返します。 $indexを避けるときにあなたのコールがクラッシュしないので、そうでないとしましょう。

あなたは2番目のパラメータとして$indexを渡すとき、関数がnullを返し、それはCIインスタンスのconfig[$index]が設定されていないことを意味するのでだから、あなたのコードがクラッシュします。ここでの質問はなぜ設定されていないのですか、私はここであなたを助けることはできませんが、いくつかのモジュールを読み込むために欠けているように見えます。

敬具イオン認証モデルのコンストラクタで

関連する問題