2015-12-09 1 views
0

я использую уля Ли, чтобы отобразить меню, меню выбирается из базы данныхyii2 улей сортировки со значением Еогеаспа

$Features = $session->get('Features'); 
foreach ($Features as $menuItems) { 
    $order_priority = $menuItems->order_priority; 
    $name = $menuItems->name; 
    $path = $menuItems->path; 
} 

здесь ниже меню в списке,

<li> 
    <a href="<?php echo Url::to($path);?>"> 
    <?php echo $menuItems->name; ?> 
    </a> 
</li> 

мой вопрос я хочу отобразить меню SORT с order_priority [1,2,3,4]?

+0

Попробуйте сортировать элементы в запросе БД или использовать функции сортировки массива как http://php.net/manual/ro/function.usort.php – ustmaestro

ответ

0

Если ваш атрибут order_priority не повторяется. Вы можете попробовать это:

$menu = []; 
foreach ($session->get('Features') as $menuItems) { 
    $menu[$menuItems->order_priority] = Html::a($menuItems->name, $menuItems->path); 

} 
ksort($menu); 

И для создания списка, вы можете сделать так:

echo Html::ul($menu) 

Но если это не повторение, вы можете сортировать элементы в вашем дб запросе, как @ustmaestro сказал в комментариях.

Смежные вопросы