ID가 1 인 설정을 받으시겠습니까? 라 라벨 5.4 *

마르코

다음 테이블이 있습니다.

사용 테이블 :

Schema::create('users', function (Blueprint $table) {
        $table->increments('id');
        $table->string('firstname');
        $table->string('surename');
        $table->string('address')->nullable();
        $table->string('city')->nullable();
        $table->string('country')->nullable();
        $table->string('postcode')->nullable();
        $table->string('email')->unique();
        $table->string('password');
        $table->rememberToken();
        $table->string('facebook_id')->nullable();
        $table->string('linkedin_id')->nullable();
        $table->string('twitter_id')->nullable();
        $table->timestamps();
    });

설정 테이블 :

 Schema::create('settings', function (Blueprint $table) {
        $table->increments('id');
        $table->string('value');
        $table->timestamps();
    });

Setting_user (피벗 테이블) :

 Schema::create('setting_user', function (Blueprint $table) {
        $table->integer('user_id')->unsigned();
        $table->foreign('user_id')->references('id')->on('users');
        $table->integer('setting_id')->unsigned();
        $table->foreign('setting_id')->references('id')->on('settings');
        $table->timestamps();
    });

카테고리 표 :

Schema::create('categories', function (Blueprint $table) {
        $table->increments('id');
        $table->string('name');
        $table->timestamps();
    });

Setting_category (피벗 테이블) :

 Schema::create('setting_category', function (Blueprint $table) {
        $table->integer('category_id')->unsigned();
        $table->foreign('category_id')->references('id')->on('categories');
        $table->integer('setting_id')->unsigned();
        $table->foreign('setting_id')->references('id')->on('settings');
        $table->timestamps();
    });

내 사용자 모델에서 이것은 belongsToMany 관계를 가지고 있습니다.

public function settings()
{
    return $this->belongsToMany(Setting::class, 'setting_user', 'user_id','setting_id')->with('category');
}

그리고 내 설정 모델에서 :

보호 된 $ table = '설정';

public function category()
{
    return $this->hasMany(Categories::class,'id');
}

이렇게 액세스하면 :

public function settings()
{
    $user = User::find(1);
    return $user->settings()->with('category')->first();
}

이것이 내가 얻는 결과입니다.

{"id":1,"value":"87658675.jpg","created_at":"2017-07-04 00:00:00","updated_at":null,"pivot":{"user_id":1,"setting_id":1},"category":[{"id":1,"name":"avatar","created_at":"2017-07-06 00:00:00","updated_at":null}]}

category-> id == 1 인 설정 만 가져올 수있는 방법은 무엇입니까?

많은 감사

알렉세이 메 제닌

지정된 사용자 및 지정된 범주에 대한 설정 만 가져 오려면 whereHas()다음을 사용하십시오 .

public function settings()
{
    $categoryId = 1;
    $userId = 1;

    return Settings::whereHas('categories', function ($q) use ($categoryId) {
            $q->where('id', $categoryId);
        })
        ->whereHas('users', function ($q) use ($userId) {
            $q->where('id', $userId);
        })
        ->get();
}

이 작업을 수행하려면 관계를 수정하십시오. 모든 관계처럼 보인다는해야 belongsToMany()하지hasMany()

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

숨겨진 입력을 통해 양식에 URL ID를 전달 하시겠습니까? 라 라벨 5

분류에서Dev

라 라벨 5 기본 인증 시스템을 수정하는 방법

분류에서Dev

선택에 수업을 추가하십시오. 라 라벨 4

분류에서Dev

Highchart Bar 라인과 라벨을 추가하는 방법은 무엇입니까?

분류에서Dev

라 라벨 4/5 검색 양식

분류에서Dev

라 라벨 장인의 명령 관리자가 있습니까?

분류에서Dev

누군가가 scala의 코딩 라인을 설명해 주시겠습니까?

분류에서Dev

라 라벨 5 레지스터 인증

분류에서Dev

라 라벨 5-인코딩 문자

분류에서Dev

라 라벨 5 인증 오류

분류에서Dev

인라인 asm에서 C 배열을 새 호출 스택 (ESP)으로 설정 하시겠습니까?

분류에서Dev

라 라벨 4 패키지를 설치할 수 없습니다.

분류에서Dev

Magento에서 고정 요금 방법에 대한 발송물 라벨을 인쇄 하시겠습니까?

분류에서Dev

ID 세션 재생성을 사용한 라 라벨 로그인

분류에서Dev

업데이트 요청에서 규칙을 확인하는 방법은 무엇입니까? 라 라벨 5

분류에서Dev

라 라벨 4에서 "cron"지원을받는 방법은 무엇입니까?

분류에서Dev

라 라벨 : 속성을 추가하면 n + 1 문제가 발생할 수 있습니까?

분류에서Dev

라 라벨의 폼에 변수가 설정되어 있는지 확인

분류에서Dev

라 라벨-시간대-설정 널

분류에서Dev

변수가 정의되지 않은 라 라벨 내부 조인

분류에서Dev

토큰 인증을 통한 라 라벨 5 모바일 앱 로그인

분류에서Dev

라 라벨 5 TokenMismatchException

분류에서Dev

쿼리에 제외를 추가합니다. 라 라벨 4

분류에서Dev

라 라벨 4 if isset ..?

분류에서Dev

버튼을 그룹으로 인라인으로 배치 하시겠습니까?

분류에서Dev

정의 된 컨트롤러가 라 라벨 5에 존재하지 않습니다.

분류에서Dev

라 라벨 인증

분류에서Dev

라 라벨에서 특정 ID로 한 행만 인쇄하려면 어떻게해야합니까?

분류에서Dev

라 라벨. 쇼 인덱스 정책

Related 관련 기사

  1. 1

    숨겨진 입력을 통해 양식에 URL ID를 전달 하시겠습니까? 라 라벨 5

  2. 2

    라 라벨 5 기본 인증 시스템을 수정하는 방법

  3. 3

    선택에 수업을 추가하십시오. 라 라벨 4

  4. 4

    Highchart Bar 라인과 라벨을 추가하는 방법은 무엇입니까?

  5. 5

    라 라벨 4/5 검색 양식

  6. 6

    라 라벨 장인의 명령 관리자가 있습니까?

  7. 7

    누군가가 scala의 코딩 라인을 설명해 주시겠습니까?

  8. 8

    라 라벨 5 레지스터 인증

  9. 9

    라 라벨 5-인코딩 문자

  10. 10

    라 라벨 5 인증 오류

  11. 11

    인라인 asm에서 C 배열을 새 호출 스택 (ESP)으로 설정 하시겠습니까?

  12. 12

    라 라벨 4 패키지를 설치할 수 없습니다.

  13. 13

    Magento에서 고정 요금 방법에 대한 발송물 라벨을 인쇄 하시겠습니까?

  14. 14

    ID 세션 재생성을 사용한 라 라벨 로그인

  15. 15

    업데이트 요청에서 규칙을 확인하는 방법은 무엇입니까? 라 라벨 5

  16. 16

    라 라벨 4에서 "cron"지원을받는 방법은 무엇입니까?

  17. 17

    라 라벨 : 속성을 추가하면 n + 1 문제가 발생할 수 있습니까?

  18. 18

    라 라벨의 폼에 변수가 설정되어 있는지 확인

  19. 19

    라 라벨-시간대-설정 널

  20. 20

    변수가 정의되지 않은 라 라벨 내부 조인

  21. 21

    토큰 인증을 통한 라 라벨 5 모바일 앱 로그인

  22. 22

    라 라벨 5 TokenMismatchException

  23. 23

    쿼리에 제외를 추가합니다. 라 라벨 4

  24. 24

    라 라벨 4 if isset ..?

  25. 25

    버튼을 그룹으로 인라인으로 배치 하시겠습니까?

  26. 26

    정의 된 컨트롤러가 라 라벨 5에 존재하지 않습니다.

  27. 27

    라 라벨 인증

  28. 28

    라 라벨에서 특정 ID로 한 행만 인쇄하려면 어떻게해야합니까?

  29. 29

    라 라벨. 쇼 인덱스 정책

뜨겁다태그

보관