Метод Collection::wrap у Laravel забезпечує безперебійну конверсію різних типів даних у колекції, гарантуючи однакову обробку колекцій незалежно від формату вхідних даних
Метод wrap ефективно працює з різними типами значень:
use Illuminate\Support\Collection;
// Обгортка одного значення
$collection = Collection::wrap('Alice Smith');
// Результат: ['Alice Smith']
// Обгортка масиву
$collection = Collection::wrap(['Alice Smith']);
// Результат: ['Alice Smith']
// Обгортка існуючої колекції
$collection = Collection::wrap(collect('Alice Smith'));
// Результат: ['Alice Smith']
Ось приклад використання у сервісі сповіщень по електронній пошті:
class NotificationService
{
public function sendEmails($recipients, $message)
{
return Collection::wrap($recipients)
->map(fn($email) => $this->validateEmail($email))
->filter()
->each(fn($email) => $this->dispatch($email, $message));
}
public function assignCategories($product, $categories)
{
$currentCategories = $product->categories;
$newCategories = Collection::wrap($categories)
->unique()
->diff($currentCategories);
$product->categories()->sync($newCategories);
return $product;
}
public function formatNotifications($notifications)
{
return Collection::wrap($notifications)
->map(fn($notification) => [
'id' => $notification->id,
'message' => $notification->content,
'timestamp' => $notification->created_at
])
->sortByDesc('timestamp');
}
}
class AlertController extends Controller
{
public function broadcast(Request $request, NotificationService $service)
{
$alerts = AlertService::latest($request->limit);
return $service->formatNotifications($alerts);
}
}
Метод wrap забезпечує єдину обробку колекцій незалежно від типу вхідних даних, роблячи ваш код більш надійним і гнучким
Ви готові відкрити нові горизонти у роботі з геопросторовими даними в Laravel? Дізнайтеся, як за допомогою PostGIS та пакету Laravel-Magellan можна легко зберігати, запитувати та маніпулювати інформацією про розташування, перетворюючи ваші проекти на вражаючі рішення у сфері картографії та геолокації!
Використання Vite для створення фронтенд-ресурсів у вашому додатку Laravel може бути захоплюючим, але іноді ви можете стикнутися з певними помилками. У цій статті ми розглянемо чотири поширені помилки, з якими ви можете зіткнутися, а також підкажемо способи їх усунення, щоб ви могли знову зосередитися на розробці вашого додатку
Laravel Livewire випустив нову версію 3.6, яка приносить з собою цікаві HTML-директиви для управління видимістю DOM-елементів і JavaScript-діями. Досліджуйте нові можливості Livewire, що допоможуть вам створити ще більш інтерактивні користувацькі інтерфейси!