boadusamuel/search-nested-json-column

在数据库中无区分大小写地搜索嵌套JSON列

dev-main 2022-10-22 20:54 UTC

This package is auto-updated.

Last update: 2024-09-23 00:38:04 UTC


README

此包允许你在Laravel项目中,无区分大小写地搜索数据库中嵌套的JSON列。

安装

您可以通过composer安装此包

composer require boadusamuel/search-nested-json-column

使用方法

安装包后,你可以在模型中使用特性,如下所示

use Boadusamuel\SearchNestedJsonColumn\SearchNestedJsonColumn; 

class Product extends Model { use SearchNestedJsonColumn; } 

然后你可以这样使用搜索方法

Product::query()->when($search, function (Builder $query) use ($search) {
    $this->searchJsonColumn($query, 'attribute_data->name->value->en', $search);
})->get();

其中 attribute_data 是JSON列,name->value->en 是你想要搜索的嵌套列。同时,$search 是你想要搜索的值,$this 指的是具有 SearchNestedJsonColumn 特性的模型。