0

ピボット テーブルからデータをクエリして、ビューに表示しようとしています

私の見解

@foreach ($catalog_downloads as $catalog_download)
<td>
    
    <?php $frequencies = $catalog_download->export_frequencies()->get(); ?> 
    
    {{{ $frequencies }}}

</td>
@endforeach

私がそうするとき、私は{{{ $frequencies }}}これを手に入れました:

[{"id":1,"name":"Semi Annual","created_at":"2015-01-14 15:44:59","updated_at":"2015-01-14 15:44:59","pivot":{"catalog_download_id":104,"export_frequency_id":1}},{"id":2,"name":"Quaterly","created_at":"2015-01-14 15:45:06","updated_at":"2015-01-14 15:45:06","pivot":{"catalog_download_id":104,"export_frequency_id":2}},{"id":3,"name":"Monthly","created_at":"2015-01-14 15:45:13","updated_at":"2015-01-14 15:45:13","pivot":{"catalog_download_id":104,"export_frequency_id":3}}]

しかし、私はそれを望んでいません。名前だけ欲しい。
だから私はこれをやったが{{{ $frequencies->name or '' }}}、今は何も出てこない。:(

詳細

これが私の関係を定義する方法です。

public function export_frequencies(){ 
        return $this->belongsToMany('ExportFrequency','export_frequency_catalog_download','catalog_download_id','export_frequency_id');
        
    }

ここに画像の説明を入力

誰かが私が間違ったことを教えてもらえますか?

4

1 に答える 1

2

デフォルトでは、Laravel はピボット テーブルから 2 つの外部キーのみを選択します。withPivotそれを変更して関係定義に追加するには、次のようにします。

public function export_frequencies(){
    return $this->belongsToMany('Frequency')->withPivot('name');
});

pivot次に、オブジェクトを介してアクセスできます。

@foreach($frequencies as $frequency)
    {{ $frequency->pivot->name }}
@endforeach

編集

質問のタイトルに混乱したと思います。ExportFrequency必要のないデータを表示したいだけの場合は、次のwithPivotように簡単に実行できます。

@foreach($frequencies as $frequency)
    {{ $frequency->name }}
@endforeach
于 2015-01-20T13:45:43.207 に答える