!!!Обновление !!!
Проблема решена мной самостоятельно, обновленные рабочие коды указаны ниже
Я пытаюсь сохранить данные измассив типа $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');
}