LibraryItemWithoutLibrary

This commit is contained in:
Benjamin Takats
2023-01-22 12:33:54 +01:00
parent 19d9cfde22
commit 0216064035
2 changed files with 41 additions and 1 deletions

View File

@@ -0,0 +1,37 @@
<?php
namespace App\Nova\Filters;
use Laravel\Nova\Filters\BooleanFilter;
use Laravel\Nova\Http\Requests\NovaRequest;
class LibraryItemWithoutLibrary extends BooleanFilter
{
/**
* Apply the filter to the given query.
*
* @param \Laravel\Nova\Http\Requests\NovaRequest $request
* @param \Illuminate\Database\Eloquent\Builder $query
* @param mixed $value
*
* @return \Illuminate\Database\Eloquent\Builder
*/
public function apply(NovaRequest $request, $query, $value)
{
return $query->when($value['without'], fn($query) => $query->whereDoesntHave('libraries'));
}
/**
* Get the filter's available options.
*
* @param \Laravel\Nova\Http\Requests\NovaRequest $request
*
* @return array
*/
public function options(NovaRequest $request)
{
return [
'Library-Item without Library' => 'without',
];
}
}

View File

@@ -5,6 +5,7 @@ namespace App\Nova;
use App\Enums\LibraryItemType;
use App\Notifications\ModelCreatedNotification;
use App\Nova\Actions\SetStatusAction;
use App\Nova\Filters\LibraryItemWithoutLibrary;
use Ebess\AdvancedNovaMediaLibrary\Fields\Files;
use Ebess\AdvancedNovaMediaLibrary\Fields\Images;
use Illuminate\Database\Eloquent\Model;
@@ -196,7 +197,9 @@ class LibraryItem extends Resource
*/
public function filters(Request $request)
{
return [];
return [
new LibraryItemWithoutLibrary()
];
}
/**