Я новичок в красноречии.Я создаю систему, где пользователь может добавить сообщение / продукт и выбрать категорию для него.при создании поста я использую html -select-, чтобы показать родителей первого уровня, затем, когда пользователь выбирает один из них, используя ajax, я загружаю потомков этой категории в другой -select- снова, когда пользователь выбирает одного из потомков, используя ajax, я получаю детей изэта категория и добавить тему к форме, используя -select-, поэтому при создании сообщения все в порядке.
проблема в том, что когда пользователь хочет редактировать сообщение, я не могу отобразить список категорий в соответствии с выбранной пользователем категорией,Например, у нас есть следующие категории:
-laptop
-- asus
---- 11 inches
---- 14 inches
-- apple
---- 11 inches
---- 14 inches
-mobile
-- samsung
---- smart phone
---- tablet
-- apple
---- smart phone
---- tablet
Допустим, пользователь выбрал смартфон Apple .когда пользователь редактирует сообщение, я хочу показать категории, подобные этой:
<select>
<option>laptop</option>
<option selected>mobile</option>
</select>
<select>
<option>samsung</option>
<option selected>apple</option>
</select>
<select>
<option selected>smart phone</option>
<option>tablet</option>
</select>
обратите внимание, что все родители выбранной пользователем категории выбраны .
таблица кошек
id cat_name cat_slug cat_parent
Я пытался сделать что-то подобное, но думаю, что я заблудился в середине.
function getEditedCategories($catId){
$cats=[];
$cat=\App\item_category::with('siblings')->find($catId)->toArray();
$cats=array_merge($cats,$cat);
function getCatParent($catParent,$cats,$i){
$catParent=\App\item_category::with('siblings')->find($catParent)->toArray();
array_add($cats , 'parents'.$i,$catParent);
return $catParent['cat_parent'];
}
$catParent=$cat['cat_parent'];
$i=1;
while(!is_null($catParent)) {
$i++;
$catParent = getCatParent($catParent, $cats,$i);
}
dd($cats);
}
это не работает, и, конечно, нехорошо выглядеть.
отредактировано: результат dd ($ cats)
array:5 [
"id" => 6
"cat_name" => "asgas"
"cat_slug" => "asgasdf"
"cat_parent" => 5
"siblings" => array:1 [
0 => array:4 [
"id" => 6
"cat_name" => "asgas"
"cat_slug" => "asgasdf"
"cat_parent" => 5
]
]
]