0

私は次のルートを持っています:

Route::get('notes/main', function(){

        $destinations = Destination::where('show', '=','1')->get();
        $notes = Destination::find($destination->id)->notes()->get();
        return View::make('notes.main')
        ->with('destinations', $destinations);

});

//関係モデル:

<?php
class Destination extends Eloquent {
    public function notes()
    {
    return $this->has_many('Note');
    }
}

<?php
class Note extends Eloquent

{
        public function destination()
        {
            return $this->belongs_to('Destination');
        }

}

//意見:

@foreach( $destinations as $destination)

{{ $destination->name}}<br>
{ $notes->destination->text }} // this isn't echoed
@endforeach

これをフィルタリングして $destination->id を定義する正しい方法は何ですか

ありがとう

ループ内のifステートメントでメモをフィルタリングするにはどうすればよいですか? @if (isset($note->title) != 'shorttext')

          @else
           <p> {{ $note->text }} </p>
          @endif  
          @endforeach
4

4 に答える 4

1

Route で $destination->id を使用していますが、まだ定義されていないようです。問題は、コードで何を達成したいのかということです。と:

$destinations = Destination::where('show', '=','1')->get();
$notes = Destination::find($destination->id)->notes()->get();

特定の 1 つの宛先のメモのみを取得しています (これまでのところ、$destination は定義されていません。Destination::all()->first() を使用して最初の宛先を取得するか、Destination::find(id) を ID とともに取得できます)。必要な宛先の主キー値に置き換えられます)。

しかし、私はあなたがそれを望んでいないと思います。出力から、各出力先と各出力先の下に対応するメモを出力したいようです。

コントローラ:

//gets all the destinations
$destinations = Destination::where('show', '=','1')->get();
return View::make('notes.main')
    ->with('destinations', $destinations);

意見:

@foreach( $destinations as $destination)
  {{ $destination->name}}<br>
  @foreach($destination->notes as $note)
     {{ $note->text }} <br>
  @endforeach
  <hr>
@endforeach

これはテストしませんでしたが、この方法では、View にすべての目的地が表示され、目的地ごとにすべてのメモが表示されます。

于 2013-05-29T15:19:41.500 に答える
0

あなたのルートでは、 $notes 変数をビューに送信していません。

どのように私はそれを行うだろう:

   $destinations = Destination::where('show', '=','1')->get();
   $destinations->notes = Destination::find($destination->id)->notes()->get();

次に、ビューで:

@foreach( $destinations as $destination)
   {{ $destination->name}}<br>
   {{ $destination->notes->text }}
@endforeach
于 2013-05-29T12:58:32.573 に答える
0

最初にあなたが質問したので、私はあなたに正しい答えを与えました。私の回答を承認済みとしてマークしましたが、後で最初の質問を編集して別の質問を追加します (代わりに新しいスレッドを作成する必要があります)。次に、最初の質問の一部のみに回答する独自の回答を作成し、それを良い解決策としてマークしますか?

isset と empty が機能しなかった理由を説明できますが、私の助けをまったく評価しないのであれば、なぜ私がしなければならないのでしょうか?

于 2013-06-06T13:41:48.440 に答える