我有一系列类别。所有类别都有ID,Parent_id和Name。
根类别的Parent_id等于null。他们有子类别可能将他们作为他们的父母,他们可能是亚子类别,子类别作为父母。 (他们可能会有很多级别)。 我可以通过一个查询将所有类别都放到一个平面数组中。我需要的是 - 如果我采用一个类别(或子类别),我如何获得此类别中包含的所有嵌套类别(子类别,子类别)的列表?堆积了这个问题:(
Array看起来像这样:
Array
(
[0] => Array
(
[pk_i_id] => 2
[fk_i_parent_id] =>
[i_expiration_days] => 30
[i_position] => 0
[b_enabled] => 1
[b_price_enabled] => 1
[s_icon] =>
)
[1] => Array
(
[pk_i_id] => 4
[fk_i_parent_id] =>
[i_expiration_days] => 30
[i_position] => 6
[b_enabled] => 1
[b_price_enabled] => 1
[s_icon] =>
)
[2] => Array
(
[pk_i_id] => 12
[fk_i_parent_id] =>
[i_expiration_days] => 60
[i_position] => 11
[b_enabled] => 1
[b_price_enabled] => 1
[s_icon] =>
)
[3] => Array
(
[pk_i_id] => 13
[fk_i_parent_id] => 108
[i_expiration_days] => 30
[i_position] => 0
[b_enabled] => 1
[b_price_enabled] => 1
[s_icon] =>
)
答案 0 :(得分:0)
您可以使用递归。它看起来像这样:
foreach (var accrualBank in employeeAccruals)
{
var takeHours = Math.Min(requestedHours, accrualBank.AllowedHours - accrualBank.TakenHours);
accrualBank.TakenHours += takeHours;
requestedHours -= takeHours;
if (requestedHours == 0) break;
}