@paul@bigfatfrog.co.uk You should be creating actual Nova resource classes: https://nova.laravel.com/docs/3.0/resources/#defining-resources
Nova models
I'm new to Nova and creating my first Resource.
I've got a simple Company model that extends Illuminate\Database\Eloquent\Model. However, I seem to need a bunch of additional methods on my model such as App\Models\Company::authorizedToViewAny() and App\Models\Company::authorizedToCreate(). What am I missing - should I be extending a different model or have an additional trait?
@martinbean Yeah I've done that and Im referencing my company model in that resource. Its when the resource renders that I get the errors about missing functions on my model:-
namespace App\Nova;
use Illuminate\Http\Request;
use Laravel\Nova\Fields\ID;
class Company extends Resource
{
/**
* The model the resource corresponds to.
*
* @var string
*/
public static $model = \App\Models\Company::class;
@paul@bigfatfrog.co.uk Show the error?
Call to undefined method App\Models\Company::authorizedToViewAny() (View: C:\websites\hireboats2go_admin\vendor\laravel\nova\resources\views\layout.blade.php)
the stack trace is:
86 C:\websites\hireboats2go_admin\vendor\laravel\framework\src\Illuminate\Support\Traits\ForwardsCalls.php Illuminate\Database\Eloquent\Model :71 85 Illuminate\Database\Eloquent\Model :36 84 C:\websites\hireboats2go_admin\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Model.php Illuminate\Database\Eloquent\Model :2132 83 Illuminate\Database\Eloquent\Model :2144 82 Laravel\Nova\ResourceCollection :19
1 unknown frame 80 C:\websites\hireboats2go_admin\vendor\laravel\framework\src\Illuminate\Collections\Arr.php Illuminate\Support\Arr :717 79 Illuminate\Support\Collection :358 78 Laravel\Nova\ResourceCollection :20 77 Laravel\Nova\Nova :263 76 Laravel\Nova\Nova :274 75 Laravel\Nova\Nova :343 74 Laravel\Nova\Tools\ResourceManager :33 73 :45 72 Illuminate\Filesystem\Filesystem :107 71 Illuminate\Filesystem\Filesystem :108 70 Illuminate\View\Engines\PhpEngine :58 69 Illuminate\View\Engines\CompilerEngine :61 68 Facade\Ignition\Views\Engines\CompilerEngine :37 67 Illuminate\View\View :139 66 Illuminate\View\View :122 65 Illuminate\View\View :91 64 :12 63 Illuminate\Filesystem\Filesystem :107 62 Illuminate\Filesystem\Filesystem :108 61 Illuminate\View\Engines\PhpEngine :58 60 Illuminate\View\Engines\CompilerEngine :61 59 Facade\Ignition\Views\Engines\CompilerEngine :37 58 Illuminate\View\View :139 57 Illuminate\View\View :122 56 Illuminate\View\View :91 55 Illuminate\Http\Response :69 54 Illuminate\Http\Response :35 53 Illuminate\Routing\Router :820 52 Illuminate\Routing\Router :789 51 Illuminate\Routing\Router :721 50 Illuminate\Pipeline\Pipeline :128 49 Laravel\Nova\Http\Middleware\Authorize :18 48 Illuminate\Pipeline\Pipeline :167 47 Laravel\Nova\Http\Middleware\BootTools :20 46 Illuminate\Pipeline\Pipeline :167 45 Laravel\Nova\Http\Middleware\DispatchServingNovaEvent :20 44 Illuminate\Pipeline\Pipeline :167 43 Illuminate\Routing\Middleware\SubstituteBindings :50 42 Illuminate\Pipeline\Pipeline :167 41 Illuminate\Auth\Middleware\Authenticate :44 40 Laravel\Nova\Http\Middleware\Authenticate :31 39 Illuminate\Pipeline\Pipeline :167 38 Illuminate\Foundation\Http\Middleware\VerifyCsrfToken :78 37 Illuminate\Pipeline\Pipeline :167 36 Illuminate\View\Middleware\ShareErrorsFromSession :49 35 Illuminate\Pipeline\Pipeline :167 34 Illuminate\Session\Middleware\StartSession :121 33 Illuminate\Session\Middleware\StartSession :64 32 Illuminate\Pipeline\Pipeline :167 31 Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse :37 30 Illuminate\Pipeline\Pipeline :167 29 Illuminate\Cookie\Middleware\EncryptCookies :67 28 Illuminate\Pipeline\Pipeline :167 27 Illuminate\Pipeline\Pipeline :103 26 Illuminate\Routing\Router :723 25 Illuminate\Routing\Router :698 24 Illuminate\Routing\Router :662 23 Illuminate\Routing\Router :651 22 Illuminate\Foundation\Http\Kernel :167 21 Illuminate\Pipeline\Pipeline :128 20 Laravel\Nova\Http\Middleware\ServeNova :24 19 Illuminate\Pipeline\Pipeline :167 18 Illuminate\Foundation\Http\Middleware\TransformsRequest :21 17 Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull :31 16 Illuminate\Pipeline\Pipeline :167 15 Illuminate\Foundation\Http\Middleware\TransformsRequest :21 14 Illuminate\Foundation\Http\Middleware\TrimStrings :40 13 Illuminate\Pipeline\Pipeline :167 12 Illuminate\Foundation\Http\Middleware\ValidatePostSize :27 11 Illuminate\Pipeline\Pipeline :167 10 Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance :86 9 Illuminate\Pipeline\Pipeline :167 8 Fruitcake\Cors\HandleCors :38 7 Illuminate\Pipeline\Pipeline :167 6 Illuminate\Http\Middleware\TrustProxies :39 5 Illuminate\Pipeline\Pipeline :167 4 Illuminate\Pipeline\Pipeline :103 3 Illuminate\Foundation\Http\Kernel :142 2 Illuminate\Foundation\Http\Kernel :111
Following up the post, I am getting similar error, wondering if anyone found the fix?
@ArjunKannan authorizedToViewAny, uriKey or similar are methods of the Resource class, not the Model. Somewhere you are using the model instead of the resource.
Please or to participate in this conversation.