Php Laravel未定义变量ID控制器

Php Laravel未定义变量ID控制器,php,laravel-4,Php,Laravel 4,我得到以下错误: ErrorException(E_未知)未定义变量:id 下面是我的代码,它来自“控制器” 公共功能显示($id) { if(Auth::user()){ $message=message::where(函数($query){ $query->where('from_user','=',Auth::user()->username)->where('id','=',$id); })->orWhere(函数($query){ $query->where('from_user',

我得到以下错误:

ErrorException(E_未知)未定义变量:id

下面是我的代码,它来自“控制器”

公共功能显示($id)
{
if(Auth::user()){
$message=message::where(函数($query){
$query->where('from_user','=',Auth::user()->username)->where('id','=',$id);
})->orWhere(函数($query){
$query->where('from_user','=',Auth::user()->username)->where('id','=',$id);
});
如果($message==null){
返回重定向::操作('MessageController@index');
}
返回视图::make('View',['message'=>$message,'active'=>'none']);
}
}不,你没有
变量
$id
被传递给函数
show()
,而您试图在传递给
where()
/
或where()
方法的lambda函数中使用它。 如果您希望从外部作用域使用内部lambda函数变量,则应使用
use($variableName)
construct

不要使用
function($query){
use
function($query)而使用($id){

有关
使用的相关答案:

请记住变量早期绑定。

当您调用
show
时,您确定
$id
参数不为空吗?show操作的路径是什么?您的路径应该类似于以下路径::get('show/{id},'YourController@show“);@ecnepsnai,很明显。我的路线是使用{id}我不知道为什么斯基德认为,他们是天才和速率-1,其中答案是一些真正缺失的东西,他们也不知道。是的,这就是答案。谢谢