多対多Laravelピボットテーブルのデータ表示に問題があります。ピボットテーブルのセット・アップは以下のとおりです。Laravel多対多ピボットテーブルの表示値
characteristic_answers
id - user_id - characteristic_id - characteristic_option_id
1 130 5 6
1 130 5 7
1 130 1 2
モデルcharacteristic_answerです:
/**
* Get the characteristic for the charactersticanswer.
*/
public function characteristic()
{
return $this->belongsTo(Characteristic::class);
}
/**
* Get the option for the charactersticanswer.
*/
public function characteristicOption()
{
return $this->belongsTo(CharacteristicOption::class);
}
私は特性の名前と回答をループに今持っている図です。
@foreach($user->characteristicAnswers as $characteristicAnswer)
@if(!$characteristicAnswer->characteristic->multiple)
<dt>{{$characteristicAnswer->characteristic->name}}</dt>
<dd>{{$characteristicAnswer->characteristicOption->name}}</dd>
@elseif($characteristicAnswer->characteristic->multiple)
<dt>{{$characteristicAnswer->characteristic->name}}</dt>
<dd>{{$characteristicAnswer->characteristicOption->name}}</dd>
@endif
@endforeach
しかし、これは次のような回答を表示します:
**のみです。 - >キング。
彼女は瓶を取った。 - >私、 'と言いました。
彼女は何人かを待った。 - >しかし、彼女はそうしました。
彼女は何人かを待った。 - >アリス自身。
彼女は何人かを待った。 - >アリス再び..
テストkenmerk - >ねぇ**
あなたは彼女はいくつかのを待って見ることができるように。 3つの答えがあるので、特性は4回繰り返される。私は特性名を一度表示し、3つの回答を特性名の後の配列に入れたい。誰かが私にこれを手伝ってもらえますか?