exdeliver / elastic

:package_description

dev-main 2023-12-16 19:40 UTC

This package is auto-updated.

Last update: 2024-09-16 21:21:12 UTC


README

Elasticsearch for Laravel 资源

安装

通过Composer

$ composer require exdeliver/elastic

使用

创建资源并定义通过资源导入的数据。

php artisan make:resource PhoneNumberResource


<?php

namespace App\Http\Resources;

use App\Models\PhoneNumber;
use Exdeliver\Elastic\Resources\ElasticSearchResource;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request;

class PhoneNumberResource extends ElasticSearchResource
{
    public const ELASTIC_INDEX = 'phone_numbers';

    public static function model(): Model
    {
        return new PhoneNumber();
    }

    public function toElastic(Request $request): array
    {
        /**
         * Data from the model that should be imported
         */
        return [
            'index' => self::ELASTIC_INDEX,
            'body' => [
                'uuid' => $this->uuid,
                'number' => $this->phonenumber,
                'contact' => ContactResource::make($this->contact), // supports make() and collection()
            ],
        ];
    }

    public static function elastic(): array
    {
        return [
            'index' => self::ELASTIC_INDEX,
        ];
    }
}

Your controllewr

变更日志

有关最近更改的更多信息,请参阅变更日志

测试

$ composer test

贡献

有关详细信息以及待办事项列表,请参阅contributing.md

安全性

如果您发现任何与安全性相关的问题,请通过电子邮件author@email.com联系,而不是使用问题跟踪器。

致谢

许可协议

MIT。有关更多信息,请参阅许可文件

elastic