d2d.emegrendeles.hu/app/Http/Controllers/TestController.php
E98Developer 68b7c35bef git init
2026-02-28 06:53:05 +01:00

70 lines
1.8 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Enums\DbStatusFieldEnum;
use App\Enums\ProductTypeEnum;
use App\Models\ProductGroup;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Response;
use Illuminate\View\View;
class TestController extends Controller
{
private function parseNodes($parentNode, $collection)
{
$parentNodeName = $parentNode->name;
$rootNode = false;
if (! isset($parentNode->parent_id) || is_null($parentNode->parent_id)) {
// o maga a root Node
$rootNode = true;
}
foreach ($collection as $row) {
if (isset($row[$parentNodeName])
&& strlen($row[$parentNodeName]) > 0
&& $row[$parentNodeName] !== 'n/a'
) {
$node = [
'name' => $row[$parentNodeName],
'status' => DbStatusFieldEnum::active,
];
if ($rootNode) {
if (ProductTypeEnum::hasValue($node['name'])) {
$node['type'] = ProductTypeEnum::getKey($node['name']);
} else {
$node['type'] = ProductTypeEnum::X();
}
} else {
$node['type'] = $parentNode->type;
}
$treeNode = $parentNode->children()->create($node);
$this->parseNodes($treeNode, $collection);
}
}
}
public function test1(): Response|JsonResponse
{
// ...
return response('helloka');
}
public function test2(): Response|JsonResponse
{
$o = new ProductGroup;
return response()->json($o->allToTreeArray()['children']);
}
public function test(): View|Response|JsonResponse
{
// ...
return view('test.test');
}
}