2

自分のデータを自分のビューに表示することを学ぶのに少し苦労しています。誰かが私を助けてくれることを望んでいました.

私のモデルには次の機能があります

public function getPrivateMessages()
{

    $userId = Auth::user()->id;

    $messages = DB::table('pm_conversations')
                    ->where(function($query) use ($userId) {
                        $query->where('user_one', $userId)
                            ->where('user_one_archived', 0);
                    })
                    ->orWhere(function($query) use ($userId) {
                        $query->where('user_two', $userId)
                            ->where('user_two_archived', 0)
                    })
                    ->get();

}

それをコントローラーに渡し、次にビューに渡すにはどうすればよいですか?

私は少し迷っています。

ありがとう

4

3 に答える 3

6

これが Conversation モデルであると仮定すると、クエリしたメッセージを返す必要があります。

public function getPrivateMessages()
{

 ...

    return $messages;

}

コントローラーで使用して、ビューに渡します。

class HomeController extends Controller
{
    public function index()
    {
        $conversation = Conversation::find(1);

        return View::make('index')->with('privateMessages', $conversation->getPrivateMessages());
    }
}

そして、あなたのビューでは、必要なものをすべて表示します:

<html><body>
    @foreach($privateMessages as $privateMessage)
        {{$privateMessage->text}}
    @endforeach
</body></html>
于 2013-06-15T06:26:02.313 に答える
1

コントローラーでは、アクションの 1 つでこれを呼び出します。

$pms = MyModel->getPrivateMessages();
return View::make('layout')
    ->with('pms', $pms);

MyModelモデルの実際の名前に置き換える必要があることに注意してください。ビットは、変数 $pms の内容を「レイアウト」ビューに渡し、その->with('pms',$pms)ビューの「pms」という名前の変数に割り当てます。使用したいビューに合わせてビューの名前を自由にカスタマイズし、必要に応じて別の変数名を選択してください。

次に、ビューでは次のように使用します。

@foreach($pms as $pm)
    <p>From: {{ $pm->user_one}}</p>
    <p>{{ $pm->message }}</p>
@endforeach

ここでは、各プライベート メッセージをループして、いくつかのフィールドを出力しています (データベースにある列の名前を使用する必要がuser_oneありmessageます)。

詳細については、ドキュメントの次のセクションを参照してください。

于 2013-06-15T06:44:50.030 に答える
1

あなたの視界の中に

<?php $var=DB::table('tablename')->get(); ?>
@foreach($var as $variable)
   {{ $variable->tablefield }}
@endforeach

ここでは、データベース (略して DB) から「tablename」という名前のテーブルにアクセスし、get メソッドを使用してテーブルのすべての列にアクセスしています。次に、それらをランダム変数に格納します (簡単にループできるように var とします)。そして、単純にループして列データを出力します (上記の場合と同様)。

于 2014-07-02T18:36:20.323 に答える