Переменная контроллера не отображается в Query Builder Laravel

Я встречаюсь с странной проблемой в Ларавеле.

Ниже приведена функция индекса в одном из моих контроллеров.

public function index($merchant_url_text) { // $deals = DB::table('tbl_deal') -> join ('tbl_merchant', 'tbl_deal.merchant_id', '=', 'tbl_merchant.merchant_id') -> where ('merchant_url_text', $merchant_url_text) -> toSql(); //return $merchant_url_text.$deal_id; dd($deals); //return $merchant_url_text; } 

Как вы видите, я прохожу мимо merchant_url_text с маршрута.

 Route::get('/testroute/{merchant_url_text}', ['uses' =>'dealsVisibleController@index']); 

Когда я пытаюсь отладить запрос, распечатав его, я получаю

 "select * from `tbl_deal` inner join `tbl_merchant` on `tbl_deal`.`merchant_id` = `tbl_merchant`.`merchant_id` where `merchant_url_text` = ?" 

Это означает, что построитель запросов не читает переменную $ merchant_url_text. Однако, когда я возвращаю только эту переменную, она печатается.

Просто не могу понять, почему построитель запросов не может включить переменную $ merchant_url_text в запрос, когда она доступна в функции индекса.

Какие-либо предложения.