分からない事 Laravel のscoutでインデックス登録する時にエラーが発生する
環境 PHP 8.0.9 Laravel Framework 9.1.0(タグは6~4の選択股でしたので、6を仕方なく選んでます)
やったこと
①composer require laravel/scout
②composer require algolia/algoliasearch-client-php
③php artisan vendor:publish --provider="Laravel\Scout\ScoutServiceProvider"
④Algolia で作成したアカウントからALGOLIA_APP_IDと
ALGOLIA_APP_keyを.envに入力
'algolia' => [
'id' => env('ALGOLIA_APP_ID', '~~~~~ '),
'secret' => env('ALGOLIA_SECRET', '~~~~~'),
],
⑤php artisan scout:import "App\Person"
================================
⑤のコマンドを打った後
下記エラーが発生してしました。
エラーメッセージ
Call to undefined method App\Person::makeAllSearchable()
下段のPerson.phpに対して
makeAllSearchableメソッドがないのは分かるのですが
参考に書いていたlaravel実践開発の本と、公式ドキュメントのどちらも、makeAllSearchableについて書いておらず
詰まっております。どなたか知見あるかた対処方法、考え方のご教示いただけますと幸いです。
person.php
1<?php 2 3namespace App\Models; 4 5use Illuminate\Database\Eloquent\Factories\HasFactory; 6use Illuminate\Database\Eloquent\Model; 7use Laravel\Scout\Searchable; 8 9class Person extends Model 10{ 11 use Searchable; 12 13 public function toSearchAbleArray() 14 { 15 return [ 16 'id' => $this->id, 17 'firstName' => $this->firstName, 18 'mail' => $this->mail, 19 20 ]; 21 } 22} 23