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」を出力すると、値が含まれます。
これらの値をコントローラーからモデルにパラメーターとして渡し、モデル関数でクエリを作成する必要があるため、変数値のみを使用したいと考えています。私は何か間違ったことをしていますか?クエリ実行前に変数が割り当てられていませんか? 誰でもこれを解決するのを手伝ってくれますか?