Как получить данные из avenirer / CodeIgniter-MY_Model

это моя категория_модели:

$this->has_many['details'] = array('foreign_model'=>'detail_category_m','foreign_table'=>'m_category_detail','foreign_key'=>'mcat_id','local_key'=>'mcat_id');

это моя detail_category_model:

$this->has_one['category'] = array('foreign_model'=>'category_m','foreign_table'=>'m_category','foreign_key'=>'mcat_id','local_key'=>'mcat_id_detail');

Я поместил этот код в мой контроллер CI:

$data['all']= $this->detail_category_m->with_category()->get_all();

когда-то я foreach и я var_dump () в виду, как это выглядит:

 object(stdClass)#32 (4) { ["mcat_id_detail"]=> string(1) "1" ["mcat_id"]=> string(1) "1" ["detail_cat_name"]=> string(5) "asdas" ["category"]=> object(stdClass)#35 (2) { ["mcat_id"]=> string(1) "1" ["cat_name"]=> string(7) "Travels" } } object(stdClass)#36 (4) { ["mcat_id_detail"]=> string(1) "2" ["mcat_id"]=> string(1) "1" ["detail_cat_name"]=> string(6) "asdsad" ["category"]=> object(stdClass)#37 (2) { ["mcat_id"]=> string(1) "2" ["cat_name"]=> string(7) "Voucher" } }

Как только я напечатал print_r, это получилось так:

stdClass Object ( [mcat_id_detail] => 1 [mcat_id] => 1 [detail_cat_name] => asdas [category] => stdClass Object ( [mcat_id] => 1 [cat_name] => Travels ) ) stdClass Object ( [mcat_id_detail] => 2 [mcat_id] => 1 [detail_cat_name] => asdsad [category] => stdClass Object ( [mcat_id] => 2 [cat_name] => Voucher ) )

Как только я напечатал print_r в контроллере, вот так:

Array ( [0] => stdClass Object ( [mcat_id_detail] => 1 [mcat_id] => 1 [detail_cat_name] => asdas [category] => stdClass Object ( [mcat_id] => 1 [cat_name] => Travels ) ) [1] => stdClass Object ( [mcat_id_detail] => 2 [mcat_id] => 1 [detail_cat_name] => asdsad [category] => stdClass Object ( [mcat_id] => 2 [cat_name] => Voucher ) ) )

Как я могу получить cat_name и mcat_id?

Я сделал foreach, как это:

foreach($all as $row) :

echo $row->cat_name;

endforeach;

но идет ошибка; Пожалуйста, помогите мне, как получить данные, которые я хотел.

1

Решение

Попробуй это

Ввиду

foreach ($all as $value) {

echo $value['cat_name'];
echo "<br>";
echo $value['mcat_id'];

}
0

Другие решения

Когда вы используете метод с _ * (), вы должны указать поля, которые вы хотите получить:

$data['all']= $this->detail_category_m->with_category('fields:cat_name,mcat_id')->get_all();

Теперь, на ваш взгляд, вы можете сделать что-то вроде этого:

foreach($all as $detail)
{
echo $detail->detail_cat_name;
foreach($detail->category as $categ)
{
echo $categ->cat_name;
echo $categ->mcat_id;
}
}

Надеюсь, это помогло …

0

По вопросам рекламы [email protected]