add nova
This commit is contained in:
38
nova/src/Http/Requests/LensCountRequest.php
Normal file
38
nova/src/Http/Requests/LensCountRequest.php
Normal file
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
namespace Laravel\Nova\Http\Requests;
|
||||
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Laravel\Nova\Exceptions\LensCountException;
|
||||
|
||||
class LensCountRequest extends NovaRequest
|
||||
{
|
||||
use CountsResources;
|
||||
use InteractsWithLenses;
|
||||
|
||||
/**
|
||||
* Get the count of the lens resources.
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function toCount()
|
||||
{
|
||||
return rescue(function () {
|
||||
return $this->toQuery()->toBase()->getCountForPagination();
|
||||
}, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Transform the request into a query.
|
||||
*
|
||||
* @return \Illuminate\Database\Eloquent\Builder
|
||||
*/
|
||||
public function toQuery()
|
||||
{
|
||||
return tap($this->lens()->query(LensRequest::createFrom($this), $this->newSearchQuery()), function ($query) {
|
||||
if (! $query instanceof Builder) {
|
||||
throw new LensCountException('Lens must return an Eloquent query instance in order to count lens resources.');
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user