나는 다 대다 관계와 다 언어로 구성된 라 라벨 프로젝트를 운영하고 있습니다. 다중 언어 용으로 Laravel-Translatable 패키지를 사용했습니다.
이 프로그램은 많은 수의 파일을 특성과 함께 저장합니다.
각 속성은 여러 파일간에 공유됩니다. 그러나 각 속성은 각 파일마다 다른 값을가집니다.
테이블과의 관계는이 사진과 같다 : tables diagram
내가 어떤 테이블에 attribute_value
을 넣어한다? 감사합니다.많은 관계가 많은 laravel 프로젝트에서 데이터베이스의 테이블에 "속성 값"을 넣어야합니까?
0
A
답변
0
attrib_file
테이블에 attribute_value
을 추가하십시오. 왜냐하면 각각의 파일에 연결하기 위해 attribute_value
이 달라야하기 때문입니다. 한편, 각 파일은 속성 값의 수를 저장합니다. 그래서 attrib_file
피벗 테이블이 가장 적합합니다. 피벗 테이블이 documentation에 주어진 정보를 검색하는 방법 :
$attr = App\Attribute::find(1);
foreach($attr->files as $file) {
echo $file->pivot->attribute_value;
}
당신의 관계 방식에 복귀 $this->belongsToMany('App\Models\File')
의 ->withPivot('attribute_value')
끝을 추가해야합니다. 당신이 값을 변환해야하는 경우
..
public function files() {
return $this->belongsToMany('App\Models\File')->withPivot('attribute_value');
}
다음 표는 다른 – madalinivascu
@madalinivascu 당신을 감사 속성 테이블에 넣어 attibute_trans에 추가 : 특성 모델 내에서 같은 것을해야한다. 나는 속성의 가치를 번역 할 필요가있다. table에 attribute_value를 넣어야합니까? – nekooee
@madalinivascu 이러한 이유로 각 속성은 각 파일마다 다른 값을 가지므로 속성 값 자체는 사용할 수 없습니다. – nekooee