mercredi 25 mai 2016

How to make unique address to particular user only in laravel 5?

In my system what i want to include is that user can put three addresses.And that three addresses should be unique to that user only not other user.

I have used ajax validation for the system.But i couldnot figure out logic.

Everytime i try i got email address has already taken even to different user.So could anyone can help me how to make unique address for particular user only.

Following is my code and what i have tried:

public function AddNewAddress(Request $request) { if(!request()->ajax()){ return false; } $customerId = Auth::user()->userCustomer; // $user = Auth::user();

    $customer = $user->userCustomer()->firstOrFail();

    $userAddresses = $customer->customerAddresses()->latest()->get();

    $validator = Validator::make($request->all(), [
        'house_building'=>'required',
        'country_name'=>'required',
        'city_name'=>'required',
        'district_name'=>'required',
        'address_name'=>'required|unique:user_customer_addresses,address_name,'.$userAddresses->get('customer_id'),
        'street'=>'required',
        'house_floor_number'=>'required',
        'extra_direction'=>'required'
    ]);

    if ($validator->fails()) {

        return response()->json(array(
            'status' => 'fails',
            'errors' => $validator->getMessageBag()->toArray()
        ));
    }
    if ($validator->passes()) {

// $count = count($userAddresses);

        if ($count >= 3) {

            session()->flash('Address_message', 'Limit upto 3.Please delete one of your address for updating new address');


            return response()->json(array(
                'status' => 'success',
                'url' => url('user/AddressUpdate')
            ));

        } else {

            UserCustomerAddress::create([
                'customer_id' => $customerId->id,
                'city_name' => $request->city_name,
                'district_name' => $request->district_name,
                'house_building' => $request->house_building,
                'address_name' => $request->address_name,
                'street' => $request->street,
                'house_building' => $request->house_building,
                'house_floor_number' => $request->house_floor_number,
                'extra_direction' => $request->extra_direction,
                'floor' => $request->floor,
                'building' => $request->building
            ]);

            session()->flash('Address_message', 'Your AddressInformation has been created');

            return response()->json(array(
                'status' => 'success',
                'url' => url('user/AddressUpdate')
            ));
        }
    }
}



from Newest questions tagged laravel-5 - Stack Overflow http://ift.tt/1UeM14L
via IFTTT

Aucun commentaire:

Enregistrer un commentaire