Я хочу хранить данные из массива и нужно хранить идентификаторы этих лиц в другом массиве - PullRequest
0 голосов
/ 18 июня 2019

!!!Обновление !!!

Проблема решена мной самостоятельно, обновленные рабочие коды указаны ниже

Я пытаюсь сохранить данные измассив типа $locations = "khulna, dhaka" в Laravel.Но местоположение не должно повторяться в таблице местоположений.Позже мне понадобятся идентификаторы этих расположений (если они уже находятся в таблице или уже добавлены) в другом массиве, чтобы я мог присоединить их к пользователю.

public function addUser(Request $request)
    {
        $locations = $request->location;

        // need to store in the table without duplicating
        // Update - Now I am able to store data without duplicating
        foreach($locations = explode(',', $locations) as $location)
        {
            Location::firstOrCreate([
                'name'  => $location,
                'slug'  => Str::slug($location),
            ]);
        }

        // need the IDs of the locations in another array - (Solved) 
        foreach($locations as $location)
        {
            $location = Location::where('slug', Str::slug($location))->first();
            $location_ids[] = $location->id;
        } 

            $user = User::create([
                'name'              => $request->name,
                'email'             => $request->email,
            ]);

            // Because I need to attach those locations with user
            $user->locations()->attach($location_ids);


        return redirect('users');
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...