2013-02-21 35 views
7

Tôi có một vấn đề trong việc thông qua biến để truy vấn xây dựng đóng cửa, đây là mã của tôi:Query: truyền tham số cho chức năng ẩn danh

function get_usersbyname($name){ 
    dd($name); 
    $resultset = DB::table('users')->where(function($query){ 
     $query->where('username', 'LIKE', $name); 
    }); 
.... 
} 

nếu tôi chạy nó, nó sẽ trả về một lỗi "undefined name variable", nhưng tôi đã vượt qua $name biến và kiểm tra sự tồn tại của nó. Ngoài ra tôi không thể tìm thấy bất kỳ resouce giải thích làm thế nào để vượt qua biến để xây dựng chức năng vô danh truy vấn. Bạn có thể giúp tôi giải quyết vấn đề này không?

+0

Tôi nghĩ $ name không nằm trong phạm vi 'hàm ($ truy vấn)' –

Trả lời

28

Bạn cần đến nói với các chức năng ẩn danh để sử dụng biến mà như ...

Bởi vì biến mà nằm ngoài phạm vi của hàm annonymous nó cần phải được thông qua trong việc sử dụng sử dụng từ khóa như trong ví dụ bên dưới.

function get_usersbyname($name){ 
    dd($name); 
    $resultset = DB::table('users')->where(function($query) use ($name) { 
     $query->where('username', 'LIKE', $name); 
    }); 
.... 
} 
+0

nó hoạt động hoàn hảo cảm ơn bạn – petwho

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