질문을 삭제하지 말아주세요.!
 
1
0
-1

$model = studyMemberInfo::where('join_idx',$id)→with('login')→get();

이렇게 해서 dump로 값을 찍으면 자기 자신의 테이블 값은 갖고오는데요, 외래키에 해당하는 테이블은 안갖고오고 null을 찍네요, 아무리 고민해봐도 모르겠습니다. 소스와 첨부사진 올려보겠습니다. relation이 계속널입니다, 밑에 질문에 답변대로 해봐도 제대로 정확하게 되지를 않습니다, 테이블관계를 몇일째 고민해봐도 답이 나오지를 않네요 ㅎㅎ;;

 

namespace App;

use Illuminate\Database\Eloquent\Model;

class studyMemberInfo extends Model
{
     protected $table = "studyMemberInfo";
     protected $connection = "mysql";
     protected $primaryKey = "join_idx";

     public function login(){

          return $this→belongsTo(studyLogin::class);

    }


}

 

namespace App;

use Illuminate\Database\Eloquent\Model;


class studyLogin extends Model{
      protected $table = "studyLogin";
      protected $connection = "mysql";
      protected $primaryKey = "login_idx";

     public function member(){

            return $this->hasOne(studyMemberInfo::class);
    }


}

 

 

  1. taelkim

    테이블 생성 쿼리나 도식도를 보여주면 도움이 될것 같습니다.

    스샷은 작아서 보이지 않네요.

CommentAdd your comment...

1 answer

  1.  
    1
    0
    -1

     

    일단 질문하신 내용상에서 의심되는 부분은

    Eloquent 가 기본적으로 구성하는 관례(convention)에 따른 DB Table 스키마가 아닌것 같습니다.

    따라서 관계(relation)을 정의하신 부분에 

    studyMemberInfo 모델의 

         public function login(){

              return $this→belongsTo(studyLogin::class, 'foreign_key', 'other_key');

        }

    와 같이 직접적으로 참조하는 왜래키를 명시해주어야 할것 같습니다. 

    studyLogin 모델의 

    public function member() 

    에서도 마찬가지로 외래키를 명시해주시기 바랍니다. 

     

    보다 정확한 답변을 위해서는 서로 참조하는 외래키 필드 이름도 알려주셔야 할것 같습니다. 

    1. 이태희

      감사합니다^^

    CommentAdd your comment...