6
0
Fork 0
jiqu-library-server/app/Admin/Controllers/StoreProductController.php

63 lines
2.1 KiB
PHP

<?php
namespace App\Admin\Controllers;
use App\Models\Store;
use Dcat\Admin\Form;
use Dcat\Admin\Http\Controllers\AdminController;
use Dcat\Admin\Layout\Content;
use Dcat\Admin\Models\Administrator;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller;
use Dcat\Admin\Traits\HasFormResponse;
class StoreProductController extends Controller
{
use HasFormResponse;
public function create($store_id)
{
$store = Store::findOrFail($store_id);
$form = Form::make();
$form->selectTable('product', '商品')
->from(\App\Admin\Renderable\ProductSkuSimpleTable::make())
->model(\App\Models\ProductSku::class, 'id', 'name')
->required();
$form->number('amount', '库存')->min(0);
$form->switch('status', '状态')->default(1);
return (new Content())->title('新增')->body($form);
}
public function store($store_id, Request $request)
{
$store = Store::findOrFail($store_id);
$product_id = $request->input('product');
if ($product_id) {
$product = $store->productSkus()->find($product_id);
if ($product) {
$store->productSkus()->updateExistingPivot($product_id, $request->only(['amount', 'status']));
} else {
$store->productSkus()->attach([
$product_id => $request->only(['amount', 'status'])
]);
}
}
return $this->sendResponse($this->response()->success(trans('admin.save_succeeded')));
}
public function update($store_id, $id, Request $request)
{
$store = Store::findOrFail($store_id);
$product = $store->productSkus()->wherePivot('id', $id)->firstOrFail();
$store->productSkus()->updateExistingPivot($product->id, $request->only(['status', 'amount']));
return $this->sendResponse($this->response()->success(trans('admin.update_succeeded')));
}
public function destroy($store_id, $id)
{
$store = Store::findOrFail($store_id);
dd($id);
return $this->sendResponse($this->response()->success(trans('admin.delete_succeeded')));
}
}