JOIN을 사용하여 Yii의 Active Record 모델 테이블을 다른 테이블과 연결하는 방법

Wingear

Yii 2를 사용하고 있습니다.

UserDB에 테이블 이있는 모델 이 있습니다. 나는 테이블과이 테이블을 연결하려고 auth_assignment열이 user_id, item_name그리고 created_at사용 LEFT JOIN절을. 나는 이것을 썼다 :

$model = User::find()->leftJoin('auth_assignment AS a', '`a`.`user_id` = `user`.`id`');

그런 다음 다음에 첨부 $model합니다 ActiveDataProvider.

$dataProvider = new ActiveDataProvider([
    'query' => $model,
    'pagination' => [
        'pageSize' => 5,
    ],
]);

나는 응용 프로그램을 실행할 때 만 인쇄합니다 User열을 S : 스크린 샷

내가 뭘 잘못 했어?

야신 파텔

User모델 에서는 다른 테이블 (auth_assignment)의 속성을 가져올 수 없습니다.

두 가지 방법으로 할 수 있습니다.

  1. 다음을 사용하여 모델 에서 Userauth_assignment테이블 간의 관계 정의UserhasOne()

예 : (auth_assignment 테이블에 모델 이름 사용)

public function getAuth()
{
    return $this->hasOne(Authassignment::className(), ['id' => 'user_id']);
}

auth_assignment테이블 속성을 다음과 같이 사용할 수 있습니다 $model->auth->user_id.

  1. 아래와 같이 쿼리 를 배열생성합니다 .이 시나리오에서는 모델에서 관계를 정의 할 필요가 없습니다.

$model = User::find() ->select('user.*,a*') ->leftJoin('auth_assignment AS a', 'a.user_id= user.id') ->asArray();

$dataProvider = new ActiveDataProvider([ 'query' => $model, 'pagination' => [ 'pageSize' => 5, ], ]);

이제 속성을 배열 변수 $model['user_id']으로 사용할 수 있습니다 .

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

조인을 사용하여 한 테이블의 값을 다른 테이블에 연결하는 방법

분류에서Dev

R을 사용하여 다른 테이블의 선형 모델로 예측

분류에서Dev

다른 테이블로 연결되는 테이블을 사용하여 앱용 MVC를 구현하는 방법

분류에서Dev

쿼리 결과를 사용하여 SQL Server의 다른 테이블을 선택하는 방법

분류에서Dev

모델에서 join_table을 사용하여 테이블의 속성에 액세스하는 방법

분류에서Dev

여러 테이블을 다른 열과 결합하는 방법

분류에서Dev

다 대다 연결 테이블을 정의하는 방법

분류에서Dev

다른 테이블의 데이터를 쿼리하여 테이블의 모든 행을 선택하는 방법

분류에서Dev

Sequelize 모델을 미리 정의 된 테이블과 동기화하는 방법

분류에서Dev

Ruby on Rails, 다른 테이블에서 두 테이블을 연결하는 방법

분류에서Dev

다른 테이블의 특정 열 값을 사용하여 Hive에서 테이블을 만드는 방법

분류에서Dev

다른 테이블의 열 / 필드를 사용하여 PostgreSQL 테이블을 클러스터링하는 방법

분류에서Dev

각 필드를 사용하여 한 테이블의 값을 다른 테이블에 삽입하는 방법

분류에서Dev

MSSQL을 사용하여 다른 테이블의 모든 행에 행을 "곱하기"방법

분류에서Dev

ConvLSTM2D 모델과 테이블 형식 모델을 연결하는 더 나은 방법

분류에서Dev

yii 모델 관계를 올바르게 설정하는 방법은 't'를 사용하여 기본 테이블을 참조하는 것이 좋습니다.

분류에서Dev

5 억 테이블을 다른 5 억 테이블과 병합하는 방법

분류에서Dev

다른 테이블의 모든 열과 동일한 데이터 유형으로 하나의 테이블을 만드는 방법은 무엇입니까?

분류에서Dev

한 테이블에 C #을 사용하여 MongoDB의 다른 테이블 ID 목록이 포함 된 두 테이블을 조인하는 방법

분류에서Dev

sqlalchemy에서 테이블 이름만으로 같은 테이블 모델 (calss)을 빠르게 정의하는 방법은 다른가요?

분류에서Dev

Zend Framework 2를 사용하여 모델에 2 개의 테이블 이름을 설정하는 방법

분류에서Dev

Pandas를 사용하여 Python에서 서로 다른 열을 하나의 테이블로 결합하는 방법

분류에서Dev

Laravel eloquent 모델 Laravel 5의 세 테이블을 결합하는 방법

분류에서Dev

InlinePanel을 사용하여 다 대다 관계로 wagtail의 두 페이지 모델을 연결하는 방법

분류에서Dev

다른 테이블의 한 테이블에 값을 삽입하는 방법

분류에서Dev

peewee를 사용하여 모델에 정의 된 모든 테이블을 만드는 방법

분류에서Dev

한 테이블의 여러 열과 다른 테이블의 단일 열을 사용하여 값 업데이트

분류에서Dev

모델을 사용하여 새 테이블을 만드는 방법

분류에서Dev

Eloquent ORM laravel을 사용하여 하나 이상의 테이블 모델을 결합합니다.

Related 관련 기사

  1. 1

    조인을 사용하여 한 테이블의 값을 다른 테이블에 연결하는 방법

  2. 2

    R을 사용하여 다른 테이블의 선형 모델로 예측

  3. 3

    다른 테이블로 연결되는 테이블을 사용하여 앱용 MVC를 구현하는 방법

  4. 4

    쿼리 결과를 사용하여 SQL Server의 다른 테이블을 선택하는 방법

  5. 5

    모델에서 join_table을 사용하여 테이블의 속성에 액세스하는 방법

  6. 6

    여러 테이블을 다른 열과 결합하는 방법

  7. 7

    다 대다 연결 테이블을 정의하는 방법

  8. 8

    다른 테이블의 데이터를 쿼리하여 테이블의 모든 행을 선택하는 방법

  9. 9

    Sequelize 모델을 미리 정의 된 테이블과 동기화하는 방법

  10. 10

    Ruby on Rails, 다른 테이블에서 두 테이블을 연결하는 방법

  11. 11

    다른 테이블의 특정 열 값을 사용하여 Hive에서 테이블을 만드는 방법

  12. 12

    다른 테이블의 열 / 필드를 사용하여 PostgreSQL 테이블을 클러스터링하는 방법

  13. 13

    각 필드를 사용하여 한 테이블의 값을 다른 테이블에 삽입하는 방법

  14. 14

    MSSQL을 사용하여 다른 테이블의 모든 행에 행을 "곱하기"방법

  15. 15

    ConvLSTM2D 모델과 테이블 형식 모델을 연결하는 더 나은 방법

  16. 16

    yii 모델 관계를 올바르게 설정하는 방법은 't'를 사용하여 기본 테이블을 참조하는 것이 좋습니다.

  17. 17

    5 억 테이블을 다른 5 억 테이블과 병합하는 방법

  18. 18

    다른 테이블의 모든 열과 동일한 데이터 유형으로 하나의 테이블을 만드는 방법은 무엇입니까?

  19. 19

    한 테이블에 C #을 사용하여 MongoDB의 다른 테이블 ID 목록이 포함 된 두 테이블을 조인하는 방법

  20. 20

    sqlalchemy에서 테이블 이름만으로 같은 테이블 모델 (calss)을 빠르게 정의하는 방법은 다른가요?

  21. 21

    Zend Framework 2를 사용하여 모델에 2 개의 테이블 이름을 설정하는 방법

  22. 22

    Pandas를 사용하여 Python에서 서로 다른 열을 하나의 테이블로 결합하는 방법

  23. 23

    Laravel eloquent 모델 Laravel 5의 세 테이블을 결합하는 방법

  24. 24

    InlinePanel을 사용하여 다 대다 관계로 wagtail의 두 페이지 모델을 연결하는 방법

  25. 25

    다른 테이블의 한 테이블에 값을 삽입하는 방법

  26. 26

    peewee를 사용하여 모델에 정의 된 모든 테이블을 만드는 방법

  27. 27

    한 테이블의 여러 열과 다른 테이블의 단일 열을 사용하여 값 업데이트

  28. 28

    모델을 사용하여 새 테이블을 만드는 방법

  29. 29

    Eloquent ORM laravel을 사용하여 하나 이상의 테이블 모델을 결합합니다.

뜨겁다태그

보관