2015-09-12 15 views
6

Tôi nhận được $id từ url của mình, nhưng tôi không thể tìm cách sử dụng nó trong một hàm. Làm thế nào tôi có thể chuyển $ id vào hàm truy vấn?Biến không xác định Laravel bên trong một hàm

Tôi đã thử id $ toàn cầu nhưng tôi vẫn không thể nhận được giá trị, chỉ là trang trống.

Bộ điều khiển của tôi.

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; 
} 

Lỗi:

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

Dòng 49

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

'chức năng ($ truy vấn) sử dụng $ id'? – aldrin27

+0

Có, tôi cần sử dụng $ id đó bên trong chức năng của mình. – salep

+0

Ý tôi là chèn vào trong truy vấn – aldrin27

Trả lời

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; 
    } 

Thêm từ dự trữ sử dụng để chèn $id cùng truy vấn của bạn.

+3

Điều này rất gần với tôi. Tôi chỉ cần đặt biến '$ id' trong dấu ngoặc đơn' use ($ id) '. – Rail24

+0

cảm ơn .. nó hoạt động tuyệt vời –

+0

'$ id' phải ở trong dấu ngoặc đơn – JohnB

Các vấn đề liên quan