algolia 在 laravel 插件中按属性搜索(可选)
algolia search by attribute in laravel plugin (optionally)
Route::get('delete_project/{project_id}', function($project_id){
$project = \Illuminate\Support\Facades\Auth::user()->projects()->where('project_id', $project_id)->get()->first();
$index = Algolia::connection('main')->initIndex(\Illuminate\Support\Facades\Auth::user()->email);
$result = $index->search($project->name, array('facetFilters' => 'project.name') );
dd($result);
$project->delete();
})->middleware('auth');
dd return 要么什么都没有,要么就是我所有的 algolia 项目,我只想带 project.id of $project->id.
我有以下结构:
- 我有一个 projects_issues 关系
- 当用户创建新问题时,该问题会保存到 algolia 并为其电子邮件地址建立索引
- 当用户删除项目时,所有问题都从服务器中删除,我也需要从 algolia 删除。 Algolia 目前处于试验阶段。
大概应该是这样的:
$result = $index->search("", ['facetFilters' => ['project.name:'.$project->name]]);
"" 因为查询将匹配所有内容
但 facetFilters 将只过滤具有良好项目名称的记录
尝试使用数字过滤器:https://www.algolia.com/doc/ruby#numeric-search-parameters
$args = [
'facetFilters' => 'project.name',
'numericFilters' => 'id=' . $project->id
];
$result = $index->search($project->name, $args);
Route::get('delete_project/{project_id}', function($project_id){
$project = \Illuminate\Support\Facades\Auth::user()->projects()->where('project_id', $project_id)->get()->first();
$index = Algolia::connection('main')->initIndex(\Illuminate\Support\Facades\Auth::user()->email);
$result = $index->search($project->name, array('facetFilters' => 'project.name') );
dd($result);
$project->delete();
})->middleware('auth');
dd return 要么什么都没有,要么就是我所有的 algolia 项目,我只想带 project.id of $project->id.
我有以下结构:
- 我有一个 projects_issues 关系
- 当用户创建新问题时,该问题会保存到 algolia 并为其电子邮件地址建立索引
- 当用户删除项目时,所有问题都从服务器中删除,我也需要从 algolia 删除。 Algolia 目前处于试验阶段。
大概应该是这样的:
$result = $index->search("", ['facetFilters' => ['project.name:'.$project->name]]);
"" 因为查询将匹配所有内容 但 facetFilters 将只过滤具有良好项目名称的记录
尝试使用数字过滤器:https://www.algolia.com/doc/ruby#numeric-search-parameters
$args = [
'facetFilters' => 'project.name',
'numericFilters' => 'id=' . $project->id
];
$result = $index->search($project->name, $args);