Laravel 5.2 выберите данные неизвестной переменной

Моя функция в контроллере для получения данных, когда пользователь ищет ajax.

Это мой код:

$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);

Я не знаю, чего не хватает в моем коде, это покажет raw 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" = ?

Я пытаюсь заменить $receiptNum по количеству 123 для теста это тоже шоу ? в raw sqlПожалуйста, помогите мне решить это.

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);
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]