I have a collection of arrays that consists of qty as string what I want is to remove a $
symbol and make the string to integer
"collection": [
{
"id": 983,
"controlNumber": "4498818",
"ItemNumber": "PS2W12077",
"shipment": {
"id": 27,
"Item": "PS2W12077",
"ColorCode": "GRPFR",
"qty": "$1,638"
}
},
{
"id": 982,
"controlNumber": "4498818",
"ItemNumber": "PS2W12077",
"shipment": {
"id": 27,
"Item": "PS2W12077",
"ColorCode": "GRPFR",
"qty": "$1,638"
}
},
{
"id": 981,
"controlNumber": "4498818",
"ItemNumber": "PS2W12077",
"shipment": {
"id": 27,
"Item": "PS2W12077",
"ColorCode": "GRPFR",
"qty": "$1,638"
}
},
{
"id": 980,
"controlNumber": "4498818",
"ItemNumber": "PS2W12077",
"shipment": {
"id": 27,
"Item": "PS2W12077",
"ColorCode": "GRPFR",
"qty": "$1,638"
}
}
]
the way I get did relationship on the model as follows
public function Openorder()
{
$object = $this->hasOneThrough(OpenorderImportTemp::class, 'ItemNumber', 'Item');
return $object;
}
and then fetching on the controller is below
$openorder_data = OpenorderImportTemp::
select('id', 'controlNumber', 'ItemNumber', )
->with('shipment:id,Item,ColorCode,qty')
// ->groupBy('controlNumber')
->orderby('id', 'desc')
->where('ControlNumber', '!=', '0')
->get();
any possibilities to change the string to integer as I wanted. what I have tried is below
$openorder_data = OpenorderImportTemp::
select('id', 'controlNumber', 'ItemNumber', DB::raw("SUM(shipment.qty) as qtysum") )
->with('shipment:id,Item,ColorCode,qty')
// ->groupBy('controlNumber')
->orderby('id', 'desc')
->where('ControlNumber', '!=', '0')
->get();
protected $casts = [
'qty' => 'integer',
];
on model solve my issue. which changes the string to integer