Im получая следующее сообщение об ошибке:Eloquent запросы на 2 таблиц
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'value' in 'where clause' (SQL: select sum(gross) as value, first_name from
clients
left jointransactions
onclients
.id
=transactions
.client_id
wherevalue
> 0 group byfirst_name
)
С помощью этой функции?
$data = DB::table('clients')->leftjoin('transactions','clients.id','=','transactions.client_id')
->select(DB::raw('sum(gross) as value, first_name'))
->where('value','>',0)
->groupBy('first_name')
->get();
return $data;
Благодаря Рахул, я вижу, как это может работать, я получаю следующее сообщение об ошибке: –
SQLSTATE [42000]: Ошибка синтаксиса или нарушение прав доступа: 1463 Non-группируя поле «значение» используется в предложения HAVING (SQL: выберите сумму (брутто) как значение, first_name из 'clients' left join' transaction' на 'clients'.'id' =' transaction'.'client_id' группе 'first_name' с' value'> 0) –
Пожалуйста, проверьте мои обновленный пост. Фактически вы можете использовать сумму (брутто) непосредственно в том месте, где вместо использования псевдонима. И жаль, что идея была неправильной. В том случае, если вы можете поставить условие только для сгруппированного поля. –