mirror of
https://git.meshkee.com/cssd/cssd-back.git
synced 2026-10-10 20:51:07 +03:30
fix package has 1 item
This commit is contained in:
@@ -3,13 +3,17 @@
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Http\Requests\StorePackageRequest;
|
||||
use App\Item;
|
||||
use App\Package;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class PackageController extends Controller
|
||||
{
|
||||
public function index( Request $request )
|
||||
{
|
||||
DB::table("item_package")->delete();
|
||||
dd(1);
|
||||
$user = auth( 'api' )->user();
|
||||
|
||||
$Packages = Package::when( $user->cant( 'showAll' , Package::class ) , function ( $query ) use ( $user ) {
|
||||
@@ -73,20 +77,13 @@ 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 ( $request->items as $itemId ) {
|
||||
$item = Item::where( "id" , $itemId )->first();
|
||||
if ( $item ) {
|
||||
$item->packages()->detach();
|
||||
$PackageObj->items()->attach( $item->id , [ 'count' => 1 ] );
|
||||
}
|
||||
}
|
||||
|
||||
foreach ( $Items as $Item => $Count ) {
|
||||
$PackageObj->items()->attach( array( $Item ) , [ 'count' => $Count ] );
|
||||
}
|
||||
return \MessageResponse::success( trans( 'messages.success' ) );
|
||||
}
|
||||
|
||||
@@ -107,21 +104,24 @@ class PackageController extends Controller
|
||||
public function update( StorePackageRequest $request , Package $Package )
|
||||
{
|
||||
$Package->update( $request->except( [ 'items' ] ) );
|
||||
|
||||
$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;
|
||||
$itemOld = $Package->items()->where("item_id",$item[ 'id' ])->first();
|
||||
if ( $itemOld ) {
|
||||
$Items[ $item[ 'id' ] ] = $itemOld->pivot->count + 1;
|
||||
} else {
|
||||
$Items[ $item[ 'id' ] ] = $count;
|
||||
}
|
||||
}
|
||||
|
||||
$Package->items()->detach();
|
||||
|
||||
foreach ( $Items as $Item => $Count ) {
|
||||
$Package->items()->attach( array( $Item ) , [ 'count' => $Count ] );
|
||||
$item = Item::where( "id" , array( $Item ) )->first();
|
||||
if ( $item ) {
|
||||
$item->packages()->detach();
|
||||
$Package->items()->attach( array( $item->id ) , [ 'count' => $Count ] );
|
||||
}
|
||||
}
|
||||
|
||||
return \MessageResponse::success( trans( 'messages.success' ) );
|
||||
|
||||
Reference in New Issue
Block a user