2016-08-24 8 views
1

ユーザー検索ajaxのときにデータを取得するコントローラの機能。Laravel 5.2データ未知変数の選択

これは私のコードです:私は私のコードで行方不明のか分からない

$receiptNum = Request::get('receiptNum'); 
// echo $receiptNum = 123456 
DB::connection()->enableQueryLog(); 
$q = DB::table('tbl_receipt AS r') 
      ->join('company AS com', 'r.com_id', '=', 'com.com_id') 
      ->join('branches AS b', 'com.b_id', '=', 'b.b_id') 
      ->join('employee AS e', 'r.created_by', '=', 'e.e_id') 
      ->where('r.receipt_code','=',$receiptNum) 
      ->get(); 
$query = DB::getQueryLog(); 
var_dump($query); 

、それはこのような生のSQLを表示します:

SELECT * 
FROM  "tbl_receipt" AS "r" 
INNER JOIN "company"  AS "com" ON "r"."com_id" = "com"."com_id" 
INNER JOIN "branches" AS "b" ON "com"."b_id" = "b"."b_id" 
INNER JOIN "employee" AS "e" ON "r"."created_by" = "r"."e_id" 
WHERE "r"."receipt_code" = ? 

私はNUM 123$receiptNumを交換しようとしていますテスト、それもraw sql?を表示している、それを解決するために私を助けてください。

+0

DB ::接続の前にvar_dump($ receiptNum) – LorenzoBerti

+0

返品 '123456' – ching

+0

あなたはこれを見ましたか? http://stackoverflow.com/questions/18236294/how-do-i-get-the-query-builder-to-output-its-raw-sql-query-as-a-string – LorenzoBerti

答えて

1

"?"これは声明であるからです。 文字列が必要な場合は、置き換える必要があります。

私はhttps://gist.github.com/JesseObrien/7418983

に触発され、例えば、私はこれを行います。

$q = DB::table('tbl_receipt AS r') 
->join('company AS com', 'r.com_id', '=', 'com.com_id') 
->join('branches AS b', 'com.b_id', '=', 'b.b_id') 
->join('employee AS e', 'r.created_by', '=', 'e.e_id') 
->where('r.receipt_code','=','123') ; 

$sql = $q->toSql(); 
// $bindings = $q->getBindings(); 
foreach($q->getBindings() as $binding) 
{ 
$value = is_numeric($binding) ? $binding : "'".$binding."'"; 
$sql = preg_replace('/\?/', $value, $sql, 1); 
} 
var_dump($sql); 
関連する問題