나는 Laravel Framework 6.16.0
.
.NET과 같은 SQL 함수를 통해 데이터를 선택하고 싶습니다 CONCAT('Q', QUARTER(transaction_date))
.
그러나 오류가 발생합니다.
Column not found: 1054 Unknown column 'CONCAT('Q', QUARTER(transaction_date))' in 'field list'
쿼리는 다음과 같습니다.
$days = 365 * 2; // two years
$trx = DB::connection('mysql_prod')->table('product')->select(array("transaction_date", "CONCAT('Q', QUARTER(transaction_date))", "YEAR(transaction_date)", "trx_type", "amount_range", "transaction_value", "symbol"))
->leftJoin('companies', 'product.companies_id', '=', 'companies.id')
->leftJoin('persons', 'persons.id', '=', 'product.persons_id')
->where('companies.symbol', '=', $s->symbol)
->where('persons.person_type', '=', 'manager')
->whereDate('transaction_date', '>=', Carbon::now()->subDays($days))
->orderBy('transaction_date', 'desc')
->get();
유창한 선택 문 내에서 SQL 함수를 사용하는 방법에 대한 제안이 있습니까?
답장에 감사드립니다!
@lagbox가 그의 의견에서 언급했듯이,
당신은 변경해야 "CONCAT('Q', QUARTER(transaction_date))"
합니다DB::raw("CONCAT('Q', QUARTER(transaction_date))")
$days = 365 * 2; // two years
$trx = DB::connection('mysql_prod')->table('product')->select(array("transaction_date", DB::raw("CONCAT('Q', QUARTER(transaction_date))"), "YEAR(transaction_date)", "trx_type", "amount_range", "transaction_value", "symbol"))
->leftJoin('companies', 'product.companies_id', '=', 'companies.id')
->leftJoin('persons', 'persons.id', '=', 'product.persons_id')
->where('companies.symbol', '=', $s->symbol)
->where('persons.person_type', '=', 'manager')
->whereDate('transaction_date', '>=', Carbon::now()->subDays($days))
->orderBy('transaction_date', 'desc')
->get();
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다