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