У меня небольшая проблема с запросом, который я пытаюсь настроить в своем приложении Laravel.Я пытаюсь вычислить что-то на уровне базы данных, а затем вернуть его пользователю с помощью вызова ajax.
Вот часть вызываемой функции:
$query = \DB::table('db_table');
switch ($request['type']) {
case 'type1':
$settingValue = $request['type1'];
$query = $query->selectRaw('price - cost_price AS margin');
$query = $query->havingRaw('margin < ?', [$settingValue]);
break;
case 'type2':
$settingValue = $request['type2'];
$query = $this->addSelectQuery($query, '((price - cost_price) / price) AS profit');
$query = $query->havingRaw('profit < ?', [$settingValue]);
break;
default:
return false;
}
$filteredProducts = $query->where('id', '=', $id)->count();
У меня естьуже пробовал где, гдеRaw и имея, но я продолжаю получать ту же ошибку.
Illuminate\Database\QueryException:
SQLSTATE[42703]: Undefined column: 7 ERROR: column "margin" does not exist
(SQL: select count(*) as aggregate from "db_table" where "id" = 21 having margin < 15)
Любая помощь будет оценена.