'withAllTags', 'tags.all' => 'withAllTags', 'tags.any' => 'withAnyTags', ]; /** * {@inheritdoc} */ protected $defaultSort = ['name']; /** * {@inheritdoc} */ public function __construct(StandardStrategy $paging) { parent::__construct(new Food(), $paging); } /** * {@inheritdoc} */ protected function filter($query, Collection $filters) { if ($term = $filters->get('search')) { $query->where('foods.name', 'like', "%{$term}%") ->orWhere('foods.detail', 'like', "%{$term}%") ->orWhere('foods.brand', 'like', "%{$term}%"); } else { $this->filterWithScopes($query, $filters); } } /** * Tag relationships. */ protected function tags(): HasMany { return $this->hasMany(); } }