measure name in a product when fetched

This commit is contained in:
saparatayev 2022-06-14 13:42:56 +05:00
parent 1c8bc655eb
commit 8322449b75
2 changed files with 29 additions and 0 deletions

View File

@ -11,6 +11,7 @@ use TPS\Birzha\Models\Measure;
use TPS\Birzha\Models\Settings;
use October\Rain\Support\Facades\Event;
use TPS\Birzha\Classes\ErrorResponseApi;
use TPS\Birzha\Classes\MeasureResource;
use TPS\Birzha\Classes\ProductResource;
class ProductsAPIController extends Controller
@ -105,6 +106,11 @@ class ProductsAPIController extends Controller
}
$data = $query ? $query->paginate($perPage) : null;
if($data) {
foreach ($data as $product) {
$product->unit = new MeasureResource($product->measure);
}
}
// if($data) {
// $data->each(function ($item, $key) {

View File

@ -0,0 +1,23 @@
<?php
namespace TPS\Birzha\Classes;
use Illuminate\Http\Resources\Json\JsonResource;
class MeasureResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
$locale = $request->get('locale');
return [
'name' => $this->getAttributeTranslated('name', $locale),
];
}
}