change pack to label

This commit is contained in:
Fayyazi
2019-10-28 14:16:18 +03:30
parent 7c94a30254
commit dbd0ddc1d4
16 changed files with 254 additions and 112 deletions
+55 -2
View File
@@ -39,20 +39,73 @@ class PackageController extends Controller
'verified' => 'NotVerified',
];
$PackageObj = Package::create($PackageData);
$Items = [];
$count = 1;
foreach ($request->items as $key => $item) {
if (array_key_exists($item['id'], $Items)) {
$preCount = $Items[$item['id']];
$Items[$item['id']] = $preCount + 1;
}
else {
$Items[$item['id']] = $count;
}
}
foreach ($Items as $Item => $Count) {
$Package->items()->attach(array($Item), ['count' => $Count]);
}
$PackageObj->items()->attach($request->items);
return \MessageResponse::success(trans('messages.success'));
}
public function edit(Package $Package)
{
$Items = $Package->items->pluck('id')->toArray();
$Items = [];
$Package->load('items');
// dd($Package);
foreach ($Package->items as $item) {
for ($i=0; $i < $item->pivot->count ; $i++) {
$Items[] = (object) array('id' => $item->id, 'name' => $item->name);
}
}
unset($Package->items);
$Package->items = $Items;
return \MessageResponse::data($Package);
}
public function update(StorePackageRequest $request, Package $Package)
{
// dd($request->items);
$Package->update($request->except(['items']));
$Package->items()->sync($request->items);
$Items = [];
$count = 1;
foreach ($request->items as $key => $item) {
// dump(in_array($item['id'], array_column($Items, 'id')));
// if (in_array($item['id'], array_column($Items, 'id'))) {
// $index = array_search($item['id'], array_column($Items));
// dump(array_search($item['id'], $Items));
// $Items[$index]['count'] += 1;
// // dump($Items);
// }
// else {
// $Item1 = ['id' => $item['id'], 'count' => $count];
// $Items[] = $Item1;
// }
if (array_key_exists($item['id'], $Items)) {
$preCount = $Items[$item['id']];
$Items[$item['id']] = $preCount + 1;
}
else {
$Items[$item['id']] = $count;
}
}
// dd($Items);
$Package->items()->detach();
// foreach ($Items as $Item) {
// $Package->items()->attach(array($Item['id']), ['count' => $Item['count']]);
// }
foreach ($Items as $Item => $Count) {
$Package->items()->attach(array($Item), ['count' => $Count]);
}
// $Package->items()->sync($request->items);
return \MessageResponse::success(trans('messages.success'));
}
public function destroy(Package $Package)