分からない事 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
<?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Laravel\Scout\Searchable; class Person extends Model { use Searchable; public function toSearchAbleArray() { return [ 'id' => $this->id, 'firstName' => $this->firstName, 'mail' => $this->mail, ]; } }
まだ回答がついていません
会員登録して回答してみよう