我開始使用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」 它包含的價值。
我只想使用變量值,因爲我應該將這些值從控制器傳遞給模型作爲參數,並在模型函數中構建查詢。難道我做錯了什麼?在查詢執行之前未分配變量嗎?請,誰能幫我解決這個問題?
感謝你回答..是的。僅使用「Input」類方法就足夠了。但我用PHP的「使用」功能來解決這個問題。像Listing :: where(function($ query)use($ pt){..}) – viji