Я пытаюсь получить параметры строки запроса. Я пробовал все, что мог найти на SO, а также общие поиски в Google, такие как следующие.
URL = http://example.com?companyId=1&subcompany=3;
Then in my controller:
$companyId = $request->query('companyId');
$subcompany = $request->query('subcompany);
Итак, если я зайду на mysite.com/api/getcompany?companyId=1&subcompany=3, я увижу именно то, что ожидаю. Я даже получаю обратно результаты, которые я ожидаю получить. Проблема в том, что потом, когда это передается обратно в Vue, это совсем не то, что я ожидаю. Вместо этого я получаю список всех компаний в базе данных с нулевым значением для companyId и нулевым значением для дочерней компании. При взгляде на Telescope фактически обрабатываемый запрос выглядит так:
select * from `prods` where
(
`companyId` = '..'
and `subCompany` = ''
)
and `products`.`deleted_at` is null
Тем не менее, в моем методе контроллера это то, что я передаю
$products = Prod::where([
['companyId', '=', $companyId ],
['subcompany','=', $brandId]
])
->get();
В моем компоненте Vue я делаю вызов так:
axios.get("api/getProds").then(res=>{
console.log(res.data);
});
Таким образом, на самом деле я не передаю companyId, поскольку у меня его нет в JS. Вместо этого мне нужно извлечь его из строки запроса. Я явно что-то упускаю, но не могу понять, что именно. Может ли кто-нибудь увидеть, что не так с моим кодом?