У меня проблема с Laravel Query Builder.Когда я пытаюсь связать переменную, которая будет включать в себя некоторый SQL-код, в мой параметр привязки, он не возвращает результатов.Если я запускаю enableQueryLog (), я вижу, что запрос и привязка верны.Таким образом, код обеспечивает прекрасный запрос, но, тем не менее, он не работает соответствующим образом.
Я уже пытался распечатать все важные переменные.Я включил журнал запросов, чтобы увидеть, все ли настроено правильно, и это так.Когда я вставляю переменную в мой whereRaw () так же, как и без привязки, она работает нормально.Просто не с привязкой.
Это код, который я запускаю:
public function getCarbrands() {
$name = 'name != Ford';
try {
$brands = DB::table('ni_carbrands')
->whereRaw(':name',['name'=>$name])
->select('id','name')
->get();
echo json_encode( array('info' => 1 ,'status' => 'Successfully found car brands', 'details' => $brands));
} catch(Exception $e){
echo json_encode( array('info' => 0 ,'status' => 'Error finding car brands', 'e' => $e));
}
}
Я знаю, что такое использование функции привязки не нужно, это просто тест для некоторых других функций, которые яхочу построить.Вот что возвращает мой журнал запросов:
array:1 [▼
0 => array:3 [▼
"query" => "select `id`, `name` from `ni_carbrands` where :name"
"bindings" => array:1 [▼
0 => "name != Ford"
]
"time" => 190.25
]
]
Все компоненты запроса кажутся правильными, но, тем не менее, возникают некоторые проблемы при его создании.
Ожидаемые результаты будут примерно такимиэто:
{
"info": 1,
"status": "Successfully found car brands",
"details": [
{
"id": 1,
"name": "Toyota"
},
{
"id": 2,
"name": "Fiat"
},
{
"id": 3,
"name": "Iveco"
},
{
"id": 4,
"name": "Citroën"
},
{
"id": 5,
"name": "Opel"
},
{
"id": 6,
"name": "Mercedes"
},
{
"id": 8,
"name": "Volkswagen"
},
{
"id": 9,
"name": "Renault"
},
{
"id": 10,
"name": "MAN"
},
{
"id": 11,
"name": "Nissan"
},
{
"id": 12,
"name": "Hyundai"
},
{
"id": 13,
"name": "Peugeot"
}
]
}
Но фактический результат:
{"info":1,"status":"Successfully found car brands","details":[]}
Я был бы очень признателен за помощь.