태그 관계식(hasOne,hasMany,belongsTo)

입문


이전무엇이 규범화입니까에서 배운 바와 같이 데이터를 효과적으로 처리하기 위해 우리는 일정한 규칙에 따라 표를 변형하고 정리했지만 하나의 보기로 분할된 표의 내용을 표시하는 절차를 정리했다.

예를 들어 "people"테이블과 "lendings"테이블의 내용을 한 보기에 표시할 수 있도록 합니다.

수준 관계 유형


Laravel에서 테이블과 대응하는 모델을 정의하고 현식 연결을 통해 데이터를 잘 처리할 수 있습니다.
표 사이의 관계 유형은 1:1, 일대다, 다대다 및 기타 관계 문법을 포함한다.

hasOne 정보 (1 대 1)


hasOne은 메인 테이블의 기록을 메인 테이블의 기록과 연결시키는 데 사용됩니다.

예를 들어 상술한 경우.
메인 테이블이 있는 사람에게는 테이블에서 온 여권 정보가 하나밖에 없다.

hasOne(1대1)에 대한 기술


models/Person.php
public function lending()
{
  return $this->hasOne('App\Models\lending');
}
person/index.blade.php
{{$item->passports->getData()}}

hasMany 정보 (1 대 다)


hasMany는 테이블에서 여러 개의 기록을 메인 테이블의 어떤 기록과 연결시키는 데 사용됩니다.

예를 들어 상술한 경우.
메인 시계가 있는 사람에게는 시계에서 대여한 정보가 여러 개 있다.

hasMany에 대한 설명


models/Person.php
public function lendings()
{
  return $this->hasMany('App\Models\lending');
}
person/index.blade.php
@foreach ($item->$lending as $obj)
  <tr>{{$obj->getData()}}</tr>
@endforeach

belongsTo 정보


belongsTo는 메인 테이블의 기록을 테이블에서 여러 개의 기록과 연결시키는 데 사용됩니다.
*hasOne과hasMany는 메인 테이블에서 연결된 메인 테이블을 꺼내는 기록이고,belongsTo는 반대로 테이블에서 연결된 메인 테이블을 꺼내는 기록이다.

예를 들어 상술한 경우.
시계에서 여러 개의 정보를 빌려주는 것은 메인 시계가 있는 사람을 가리킨다.

belongsTo에 대한 설명


models/lending.php
public function person()
{
  return $this->belongsTo('App\Models\Person');
}
public function getData()
{
  return $this->id.': ' .$this->person->name.' 貸出日:'. $this->id;
}

끝내다


규범화된 데이터를 관계를 통해 연결할 수 있습니다.

좋은 웹페이지 즐겨찾기