2015-09-12 22 views
6

私は$idをURLから取得しますが、関数で使用する方法が見つかりませんでした。クエリ関数に$ idを渡すにはどうすればよいですか?Laravel関数内の未定義変数

私はglobal $ idを試しましたが、まだ空のページだけでは値を取得できません。

マイコン。

​​3210

エラー:

ErrorException in BookController.php line 49: 
Undefined variable: id 

ライン49

->where('imageable_id', $id); 
+0

'function($ query)$ id'を使用しますか? – aldrin27

+0

はい、私は自分の関数内でその$ idを使う必要があります。 – salep

+0

私は、あなたのクエリにそれを挿入することを意味します。 – aldrin27

答えて

10
class BookController extends Controller 
{ 
    public function bookIndex($id, $slug) { 
    // echo $id works without a problem 

    $findcover = Thing::with(array('cover' => function($query) use ($id) { 
     $query->where('imageable_type', 'App\Models\Thing') 
       ->where('imageable_id', $id); 
     }))->find($id); 

     $maincover = $findcover->cover; 
    } 

が予約語クエリに沿ってあなたの$idを挿入するためにを使用します。

+3

これは私にとって非常に近いものでした。 '$ id'変数を括弧' use($ id) 'に入れるだけでした。 – Rail24

+0

ありがとう..うまく動いています –

+0

'$ id'は括弧内に入れる必要があります – JohnB