Laravel 验证唯一值

问题描述 投票:0回答:1

我有多个客户,每个客户都可以有一个名称列表(customers_name),可以是“aka”或“previous”,并且每种类型的值必须是唯一的。 消息:“调用数组上的成员函数 pluck()”

$customerPrevious = [];
if($customer_name['name_type'] == 'previous'){
    //  previous customer_names from server
    $customerPrevious = $customer->customerNames()->where('name_type', '=', 'previous')->pluck('name')->toArray();
    //  previous customer_names from request
    $customerPreviousRequest = $request->customer_names->where('name_type', '=', 'previous')->pluck('name')->toArray(); 
    $duplicateValue = array_diff($customerPrevious,$customerPreviousRequest);

    if($duplicateValue.length){
            return response($exception->getMessage(), 404);
    }

}
php laravel eloquent
1个回答
1
投票

你的错误是因为在

$request->customer_names
里面你得到了数组。

->pluck()
用于收藏。

所以你可以改变:

$request->customer_names->pluck('name')

Arr::pluck($request->customer_names, 'name')

有关

Arr::pluck()
的更多信息,您可以在此处找到。

© www.soinside.com 2019 - 2024. All rights reserved.