Why is this happening? I keep getting an error on this line of code: $groupcondition = $filter['conditions'][$index];
with the error message Undefined index: conditions
. It clearly exists. Using Laravel to create columns. The conditions array is inside of the parent filter array, there is a parent filter array and a child filter array.
dump($filter)
:
"filter" => array:3 [▶
0 => array:1 [▶
0 => array:3 [▶
"code" => array:1 [▶
"code" => "Thank You Codes"
]
"condition" => array:1 [▶
"condition" => "AND"
]
"value" => array:2 [▶
"title" => "BD"
"desc" => "Board Member"
]
]
]
1 => array:1 [▶
0 => array:3 [▶
"code" => array:1 [▶
"code" => "Thank You Codes"
]
"condition" => array:1 [▶
"condition" => "AND"
]
"value" => array:2 [▶
"title" => "AU"
"desc" => "Auction Donation Thank You"
]
]
]
2 => array:1 [▶
0 => array:3 [▶
"code" => array:1 [▶
"code" => "Thank You Codes"
]
"condition" => array:1 [▶
"condition" => "AND"
]
"value" => array:2 [▶
"title" => "AM123"
"desc" => "am 123"
]
]
]
]
"conditions" => array:3 [▶
0 => array:1 [▶
"condition" => "AND"
]
1 => array:1 [▶
"condition" => "OR"
]
2 => array:1 [▶
"condition" => "AND"
]
]
]
Function:
public function createCampaign($filter, $new_campaign)
{
foreach ($filter['filter'] as $index => $group) {
$groupcondition = $filter['conditions'][$index];
$filtergroup = FilterGroups::create([
'campaign_id' => $new_campaign->id,
'condition' => $groupcondition['condition']
]);
foreach ($group as $filter) {
$field = $filter['code']['code'];
// change field name to donor perfect column name
if ($field == 'Thank You Codes') {
$field = 'ty_letter_no';
} else if ($field == 'General Ledger Codes') {
$field = 'gl_code';
} else if ($field == 'Campaign Codes') {
$field = 'campaign';
} else if ($field == 'Solicit Codes') {
$field = 'solicit_code';
} else {
$field = 'sub_solicit_code';
}
Filters::create([
'filter_id' => $filtergroup->id,
'field' => $field,
'value' => $filter['value']['title'],
'condition' => $filter['condition']['condition']
]);
};
}
}