Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

subjugado

Como usar dados de um Array sem foreach

Recommended Posts

Eu tenho uma função na minha Model:

public function get_learning_category_list() {

$categorias = $this->db->select('t1.id, t1.title, t1.metadata, t1.meta_title, t1.description, t1.meta_description, t1.meta_spam, t1.url, t1.alt_img')
->from('learning_category t1')
->join('learning_rel_category t4', 't1.id = t4.category_id', 'left')
->join('learning t2', 't4.learning_id = t2.id', 'left')
->join('learning_rel_language t3', 't2.id = t3.learning_id', 'left')
->where('t3.language', $this->language)
->group_by('t1.id')
->get()->result_array();

foreach ($categorias as $c) {

$total = $this->db->select('count(learning_rel_language.learning_id) as total', false)
->from('learning')
->join('learning_rel_language', 'learning.id = learning_rel_language.learning_id', 'inner')
->join('learning_rel_category', 'learning.id = learning_rel_category.learning_id', 'inner')
->where('learning_rel_category.category_id', $c['id'])
->where('learning_rel_language.language', $this->language)
->group_by('learning_rel_language.language')->get()->first_row('array');

$metadata = json_decode($c['metadata']);
$tt = $c['title'];
$url = $c['url'];

if ($this->language != 'pt_br') {
$tt = $metadata->{$this->language};
$tt_pt_br = $c['title'];
}

$return[] = array('url' => $url, 'title'=>$tt, 'id'=>$c['id'], 'total'=>$total['total'], 'title_pt_br'=>$tt_pt_br);
}

return $return; //$categorias;
}

Ela me resulta em um Array com a lista de learnings:

Array
(

[
0
]
=>
Array
(

[
url
]
=>

[
title
]
=>
Cursos
sobre como gerar leads qualificados

[
id
]
=>
2

[
total
]
=>
6

[
title_pt_br
]
=>

)

[
1
]
=>
Array
(

[
url
]
=>

[
title
]
=>
Cursos
de
Social
Media
Marketing

[
id
]
=>
3

[
total
]
=>
2

[
title_pt_br
]
=>

)

[
2
]
=>
Array
(

[
url
]
=>

[
title
]
=>
Cursos
de SEO e otimiza
çã
o de sites

[
id
]
=>
4

[
total
]
=>
3

[
title_pt_br
]
=>

)

)

Mas eu preciso usar os dados dessas learnings, o title, id, etc, em outra função na Model:

public function url_format_category($category, $lang_domin) {

if (lang('abbr') == 'en_US')
$lang_domin = 'en/';
else if (lang('abbr') == 'es_US')
$lang_domin = 'es/';

$categorias = $this->learn->get_learning_category_list();
print_r($categorias);

foreach ($categorias as $cat) {

print_r($cat);
$cat = (object) $cat;

if ($cat->title != '') {
$return = strtolower(url_title($cat->title)).'-cmdo-'.$cat->id;
}
else {
$return = 'cursos-de-marketing-digital-online-'.$cat->id;
}
return $return;
}
}

Eu fiz assim, mas com o foreach sempre resulta nos mesmos dados independente de qual página eu esteja.

Como posso usar os dados desse Array sem o foreach?

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.