2

モデルコレクションをフィルタリングしているクロージャーでLaravel 4のリソースコントローラーアクションに渡されるパラメーターを使用しようとしていますが、以下のエラーが発生します:

Undefined variable: slug

$slugルートからコレクション フィルター クロージャーまでパラメーターを渡すにはどうすればよいですか?

public function show($slug)
{
    return Auth::user()->sessions->filter(function($session)
    {
        return $session->slug == $slug;
    });
}

私が達成しようとしているのは、特定のスラッグに一致するユーザーのセッションを返すことだけです。私はこのようなことを無駄にしようとしました:

Auth::user()->sessions->whereSlug($slug);
4

2 に答える 2

0

私が (フィルターの代わりに) 使用した 2 回目の試行は、本質的に Fluent (クエリ ビルダー) インターフェイスである Eloquent メソッドを使用していたため、機能しませんでした。次のように修正できます。

Auth::user()->sessions->where('slug', '=', $slug)->first();

これを投稿すると、他の人に役立つ可能性があります。

于 2013-06-24T14:43:14.753 に答える