Оновлення роботи з JSON-колонками в Laravel

0
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 19 лютого, 2025
Ларавел пропонує елегантний спосіб оновлення JSON-стовпців у базі даних за допомогою стрілкової синтаксики. Дізнайтеся, як ця функція дозволяє вносити точні зміни в JSON-дані без необхідності оновлення всього стовпця!

Laravel пропонує елегантний спосіб оновлення JSON-стовпців у вашій базі даних завдяки синтаксису стрілки. Ця функція дозволяє точно модифікувати дані JSON без необхідності оновлювати цілі стовпці.

Синтаксис стрілки (->) забезпечує прямий доступ до ключів JSON у ваших запитах:

$affected = DB::table('users')
    ->where('id', 1)
    ->update(['options->enabled' => true]);

Ви також можете працювати з вкладеними структурами JSON у більш складних моделях даних:

class ConfigurationController extends Controller
{
    public function updateUserSettings($userId, $section, $value)
    {
        return DB::table('users')
            ->where('id', $userId)
            ->update(["settings->config->$section" => $value])
            ? 'Налаштування успішно оновлено'
            : 'Помилка оновлення';
    }
}
 
// міграція
Schema::create('users', function (Blueprint $table) {
    $table->id();
    $table->json('settings');
    $table->timestamps();
});

Laravel прозоро обробляє конверсію між типами даних PHP та структурами JSON, генеруючи відповідний SQL для вашої системи бази даних. Цей підхід особливо корисний для застосунків, які потребують гнучкого зберігання даних без надмірності додаткових таблиць бази даних

Популярні

Logomark Logotype

Обробка геопросторових даних за допомогою Laravel Magellan

Ви готові відкрити нові горизонти у роботі з геопросторовими даними в Laravel? Дізнайтеся, як за допомогою PostGIS та пакету Laravel-Magellan можна легко зберігати, запитувати та маніпулювати інформацією про розташування, перетворюючи ваші проекти на вражаючі рішення у сфері картографії та геолокації!

Logomark Logotype

"SQLSTATE[HY000] [2002] Connection refused" у Laravel в GitHub Actions

Чи стикалися ви з помилкою «SQLSTATE[HY000] [2002] Connection refused» під час налаштування GitHub Actions для вашого додатку на Laravel? У нашій статті ми розглянемо три поширені причини цієї помилки та надамо рішення для їх усунення. Читайте далі, щоб дізнатися, як ваш CI/CD потік може працювати бездоганно!

Logomark Logotype

Випущено Livewire 3.6

Laravel Livewire випустив нову версію 3.6, яка приносить з собою цікаві HTML-директиви для управління видимістю DOM-елементів і JavaScript-діями. Досліджуйте нові можливості Livewire, що допоможуть вам створити ще більш інтерактивні користувацькі інтерфейси!