Laravel函数中未定义的变量


Laravel undefined variable inside a function

我从url中获取$id,但找不到在函数中使用它的方法。如何将$id传递给查询函数?

我尝试了全局$id,但仍然无法获得值,只是页面为空。

我的控制器。

class BookController extends Controller
{
    public function bookIndex($id, $slug)
    {
     // echo $id works without a problem
     $findcover = Thing::with(array('cover' => function($query) {
                $query->where('imageable_type', 'App'Models'Thing')
                  ->where('imageable_id', $id);
            }))->find($id);
            $maincover = $findcover->cover;
}

错误:

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

49号线

->where('imageable_id', $id);
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