diff --git a/beike/Admin/Http/Controllers/CustomerController.php b/beike/Admin/Http/Controllers/CustomerController.php index 9d34c759..7e67d928 100644 --- a/beike/Admin/Http/Controllers/CustomerController.php +++ b/beike/Admin/Http/Controllers/CustomerController.php @@ -40,8 +40,9 @@ class CustomerController extends Controller { $data = $request->only(['email', 'name', 'password', 'status', 'customer_group_id']); $customer = CustomerService::create($data); + $customer->load('group'); - return json_success('创建成功!', new CustomerResource($customer)); + return json_success('创建成功!', $customer); } public function edit(Request $request, Customer $customer) diff --git a/beike/Admin/Http/Requests/CustomerRequest.php b/beike/Admin/Http/Requests/CustomerRequest.php index 0e1d9607..684e0109 100644 --- a/beike/Admin/Http/Requests/CustomerRequest.php +++ b/beike/Admin/Http/Requests/CustomerRequest.php @@ -36,7 +36,7 @@ class CustomerRequest extends FormRequest 'name' => 'required|max:64', 'email' => 'required|email:rfc,dns|unique:customers', 'password' => 'required|max:64', - 'customer_group_id' => 'required|unique:customer_groups', + 'customer_group_id' => 'required|exists:customer_groups,id', ]; } diff --git a/beike/Admin/Http/Resources/CustomerResource.php b/beike/Admin/Http/Resources/CustomerResource.php index be7bec6a..2d37d591 100644 --- a/beike/Admin/Http/Resources/CustomerResource.php +++ b/beike/Admin/Http/Resources/CustomerResource.php @@ -21,7 +21,7 @@ class CustomerResource extends JsonResource 'status' => $this->status ? '启用' : '禁用', 'avatar' => image_resize($this->avatar), 'from' => $this->from, - 'customer_group_name' => $this->customer_group_name, + 'customer_group_name' => $this->customer_group_name ?? $this->group->description->name, 'edit' => admin_route('customers.edit', $this->id), 'delete' => admin_route('customers.destroy', $this->id), ]; diff --git a/beike/Models/Customer.php b/beike/Models/Customer.php index 1717e0c8..5b49aaa2 100644 --- a/beike/Models/Customer.php +++ b/beike/Models/Customer.php @@ -3,7 +3,9 @@ namespace Beike\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; +use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\HasMany; +use Illuminate\Database\Eloquent\Relations\HasOne; use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Foundation\Auth\User as Authenticatable; @@ -20,4 +22,9 @@ class Customer extends Authenticatable { return $this->hasMany(Address::class); } + + public function group(): BelongsTo + { + return $this->belongsTo(CustomerGroup::class); + } }