2017-12-21 35 views
0

나는 Eloquent와 함께 일할 수있는 Laravel에서 왔습니다. Eloquent에서 다음과 같이 할 수 있습니다 :"where"와 함께 hasMany를 속행하십시오.

$this->hasOne('App\Models\Member', 'family_id')->where('relation', '=', 1); 

더 넓은 범위 내에서 특정 멤버를 얻으려면.

Sequelize에서 동일한 작업을 수행 할 수 있습니까? 나는

Family.hasMany(models.Member); 

또는

Family.hasOne(models.Member); 

을 수행 할 수 있습니다 볼 수 있지만 내가 제약 조건을 추가 할 수 어디서 볼 수 없습니다. 어떤 아이디어?

+0

'hasMany'와'hasOne' 예제는 테이블간에 연결을 설정하는 것과 같습니다. 검색어를 입력하려고합니까? 그렇다면'Family.findOne ({}) '또는'Family.findAll ({})'검색 질의를 사용할 수 있으며이 질의들 안에'where' 제약 조건을 추가 할 수 있습니다. 자세한 내용은 다음을 참조하십시오. http://docs.sequelizejs.com/manual/tutorial/querying.html – MonkeyOnARock

+0

매번 "멤버"를 검색 할 필요가 없도록 유형을 고려한 관계를 만들려고했습니다. 나는 특정 것을 찾고 있었다. 나는 "mainMember"를 생성하여 제약 조건이있는 멤버를 자동으로 반환하려고했습니다. – ackerchez

답변

0

이렇게하기 위해서는. where 절은 컨트롤러로 이동되며 모델에서 미리 정의되지 않습니다.

models.Family.findAll({ 
    include:[ 
     { 
      model : models.Member, 
      where: {relation : 1} 
     }, 
    ] 
})