のプロパティを取得しようとすると私はCodeIgniterのを使用して開始している、PHPやDBからデータをフェッチすることで、動的にUIを構築しようとしているときに問題に直面:CodeIgniterの - 重大度:通知メッセージ:非オブジェクト
要件: 私はDBから情報を読み込んで、親子のリストを動的に作成する必要があります。 私は2つのテーブルadmin_menuとadmin_menu_itemを持っています。管理メニューには親メニューオプションがあり、admin_menu_itemには各親の詳細オプションが含まれています。 admin_menu_itemには親のIDを格納するAD_MENU_ID列があり、階層構造を与えています。
するコントローラ:
クラスホームここCI_Controller {
public function index()
{
$this->load->helper('url');
$this->load->helper('array');
$this->load->model('Menu');
$header_data['base_url'] = base_url();
$data['menu'] = $this->Menu->get_admin_menu_data();
$data['menu_item'] = array();
foreach($data['menu'] as $row){
array_push($data['menu_item'],
$this->Menu->get_admin_menu_item_data($row->ad_menu_id));
}
$this->load->view('homepage/header');
$this->load->view('homepage/admin_menu',$data);
}
}
を拡張コード
マイモデルの構造である:
class Menu extends CI_Model{
function __construct()
{
// Call the Model constructor
parent::__construct();
}
function get_admin_menu_data()
{
$this->db->select('ad_menu_id,ad_menu_name');
$query = $this->db->get('admin_menu');
return $query->result();
}
function get_admin_menu_item_data($menu_id)
{
$query = $this->db->query("SELECT ad_menu_item_name FROM ADMIN_MENU_ITEM WHERE AD_MENU_ID = " . $menu_id);
if($query->num_rows() > 0){
return $query->result();
}
}
}
私は私の見解で$ data変数を使用する場合、私は親が値を持っていないと私はエラー
にPHPのエラーを以下の取得余分なアイテムが得られ、空白の親行を取得遭遇した 重要度:注意 メッセージ:非オブジェクトのプロパティを取得しようとし ファイル名:ホームページ/ admin_menu.php 行番号:基本的に私は親要素にアクセスし、私の視線である9
マイビュー:
echo "<ul class=\"accordion\" id=\"accordion-1\">";
foreach ($menu as $key => $value) {
print "<li class=\"dcjq-current-parent\">"; //add li tag
print "<a href=\"#\">" . $value->ad_menu_name . "</a>\n";
print "<ul>";
foreach($menu_item as $key_item => $value_item){
print "<li><a href=\"#\">";
print $value_item->ad_menu_item_name . "</a></li>\n";
$action_type = '';
}//end of menu item for each
print "</ul></li>\n";
}//end of menu for each
print "</ul>";
長い記事のため、申し訳ありませんが、私は本当にここに立ち往生していますし、これが間違っているかを把握することはできませんか?
更新:
私は最終的にそれがモデルとビューにコードを変更NYを動作させることができました。この問題は、オブジェクト内のオブジェクトが階層を複雑にする原因となっていました。 最終的な解決策は、ビュー内でただ1つのデータベース呼び出しと処理データを作成することでした。 私に協力して解決策を指導してくれてありがとうございました。
あなたは何を得るのですかとき、あなたのビューであなた 'のvar_dump($ MENU_ITEM)'? – rgin