我开始使用 Laravel 框架,但流畅的查询生成器有问题。在 where 条件下,如果我使用原始值或Input::get()
,它会检索结果并正确执行,但是当我使用分配的变量时,它会显示“未定义的变量”错误。
$properties = Listing::where(function($query)
{
if (Input::has('property-type')) $query->where('property_type', '=',Input::get('property-type'));
})->get();
它工作正常,但如果我这样做
$pt=Input::get('property-type');
$properties = Listing::where(function($query)
{
if ($pt!='') $query->where('property_type', '=',$pt);
})->get();
它返回错误
Undefined variable: pt
如果我打印变量“$pt”,它包含该值。
我只想使用变量值,因为我应该将这些值从控制器传递给模型作为参数,并在模型函数中构建查询。难道我做错了什么?在查询执行之前没有分配变量吗?请问,谁能帮我解决这个问题?