Skip to content

Instantly share code, notes, and snippets.

@lesstif
Last active July 10, 2019 07:21
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lesstif/aaac61cd6a872b4cab85e6f6a68e7ddc to your computer and use it in GitHub Desktop.
Save lesstif/aaac61cd6a872b4cab85e6f6a68e7ddc to your computer and use it in GitHub Desktop.
laravel nova snippets

Nova Resource

아래 명령어로 생성하는 nova resource 관련 snippets.

php artisan nova:resource MyResource

Pagination

Resource pagination count

$perPageViaRelationship 변수 수정

class MyNovaResource extends Resource {
  public static $perPageViaRelationship = 25;

hasMany 관계일 때 5 개 이상 표시

nova resource 에 hasmany 인 resource 가 연결되어 있을 경우 기본적으로 5개만 표시하며 그 이상 표시할 경우 아래 변수 수정(laravel/nova-issues#1382)

MyNovaResource 에서 MyChildNovaResource 를 hasMany 할 경우 MyChildNovaResource 를 5개 이상 표시하려면 MyChildNovaResource 에 설정해야 함.

class MyChildNovaResource extends Resource {
  public static  $perPageViaRelationship = 10;

Search

global search 에서 제외

class MyNovaResource extends Resource {
  public static  $globallySearchable = false;

Navigation 과 메뉴

좌측 sidebar 네비게이션 관련 설정

navagation 제외

class MyNovaResource extends Resource {
  public static  $displayInNavigation = false;

label 과 group 수정

좌측 사이드바에서 표시되는 그룹과 레이블 수정

class MyNovaResource extends Resource {
  static public function group()
    {
        return '그룹명';
    }

    static public function label()
    {
        return '레이블명';
    }

create/update/delete 권한 조정

authorizedToCreate 만 static method 인 것 주의할 것.

class MyNovaResource extends Resource {
  /**
     * 강제 delete
     *
     * @param Request $request
     * @return bool
     */
    public function authorizedToForceDelete(Request $request)
    {
        return false;
    }

    /**
     * soft delete
     *
     * @param Request $request
     * @return bool
     */
    public function authorizedToDelete(Request $request)
    {
        return true;
    }

    /**
     * update
     *
     * @param Request $request
     * @return bool
     */
    public function authorizedToUpdate(Request $request)
    {
        return true;
    }

    /**
     * 이것만 static 인 것 주의.
     *
     * @param Request $request
     * @return bool
     */
    public static function authorizedToCreate(Request $request)
    {
        return true;
    }

See also

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment