デフォルトだとSearchableなModelの全カラムがインデックスされる。
インデックスしたくないカラムがある場合はSearchableのtoSearchableArray()を上書きして、リターンされる配列からそのカラムのデータを除外すれば良いらしい。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
namespace App; use Illuminate\Database\Eloquent\Model; use Laravel\Scout\Searchable; class Article extends Model { use Searchable; /** * Get the indexable data array for the model. * * @return array */ public function toSearchableArray() { $array = $this->toArray(); // Customize array... unset($array['id']); unset($array['image1']); unset($array['image2']); unset($array['image3']); unset($array['published_on']); unset($array['created_at']); unset($array['updated_at']); return $array; } protected $fillable = ['image1', 'image2', 'image3', 'title', 'description', 'published_on']; protected $dates = ['published_on']; } |
参考サイト
Laravel Scout – Laravel – The PHP Framework For Web Artisans
https://laravel.com/docs/5.4/scout#configuration