Laravel Scout Algolia不';当objectId不是主键时,不能删除

Laravel Scout Algolia不';当objectId不是主键时,不能删除,laravel,laravel-5,algolia,laravel-scout,Laravel,Laravel 5,Algolia,Laravel Scout,当我将模型导入Algolia时,我将ObjectId更改为另一个字段的值。但当我在对象上调用delete()时,它似乎并没有将其从Algolia中删除。更清楚的是,这里有一个例子: 使用者{ 身份证件 电子邮件 名称 } Algolia用户{objectId:email,name} 有没有办法解决这个问题?scout是否有类似于SearchLearRay的覆盖原始删除函数的功能 编辑:我已经为任何感兴趣的人申请了此功能我想您的模型中存在问题。按照惯例: namespace App; use I

当我将模型导入Algolia时,我将ObjectId更改为另一个字段的值。但当我在对象上调用delete()时,它似乎并没有将其从Algolia中删除。更清楚的是,这里有一个例子:

使用者{ 身份证件 电子邮件 名称 }

Algolia用户{objectId:email,name}

有没有办法解决这个问题?scout是否有类似于SearchLearRay的覆盖原始删除函数的功能


编辑:我已经为任何感兴趣的人申请了此功能

我想您的模型中存在问题。按照惯例:

namespace App;

use Illuminate\Database\Eloquent\Model;

class Flight extends Model
{
    /**
     * The table associated with the model.
     *
     * @var string
     */
    protected $table = 'my_flights';
}
更多:


这里您也有类似的问题:

我想您的模型中存在问题。按照惯例:

namespace App;

use Illuminate\Database\Eloquent\Model;

class Flight extends Model
{
    /**
     * The table associated with the model.
     *
     * @var string
     */
    protected $table = 'my_flights';
}
更多:


这里有类似的问题:

我最终使用Algolia SDK手动删除了它

    $client = new \AlgoliaSearch\Client(env('ALGOLIA_APP_ID'), env('ALGOLIA_SECRET'));
    $index = $client->initIndex('index_name');
    $index->deleteObject($model->email);

我最终使用Algolia SDK手动删除了它

    $client = new \AlgoliaSearch\Client(env('ALGOLIA_APP_ID'), env('ALGOLIA_SECRET'));
    $index = $client->initIndex('index_name');
    $index->deleteObject($model->email);

我认为最简单的方法是创建一个自定义驱动程序并扩展Algolia引擎

我写了一些关于它的文档:

我认为最简单的方法是创建自定义驱动程序并扩展引擎

我写了一些关于它的文档:

它会将其从数据库中删除,所以这不应该成为问题。但是如果您更改对象id(主键)以将其存储在Algolia中,为什么不同时更改Laravel中对象的主键呢
protected$primaryKey='{object}\u id'
然后将其发送到Algolia@HCK我明白,你的观点是正确的。然而,在这一点上,我必须通过主要的重构来改变它。它会从数据库中删除它,所以这不应该成为问题。但是,如果您更改对象id(主键)以将其存储在Algolia中,为什么不同时更改Laravel中对象的主键呢
protected$primaryKey='{object}\u id'
然后将其发送到Algolia@HCK我明白,你的观点是正确的。然而,在这一点上,我必须通过重大的重构来改变这一点。为什么要替换ObjectID?@JulienBourdeau我希望能够在我的前端通过它进行过滤,因为该值是唯一的,所以我不想将其设为方面。Algolia允许您在ObjectID上进行过滤为什么要替换ObjectID?@JulienBourdeau我希望能够在前端通过它进行过滤,因为该值是唯一的,所以我不想将其设置为方面。Algolia允许您对Objective进行筛选。我建议您使用
config('scout.Algolia.id')
而不是env。但我相信这是唯一的方法,我建议使用
config('scout.algolia.id')
而不是env。但我相信这是唯一的办法