Concat 2 столбца в одном с использованием codeigniter - PullRequest
1 голос
/ 27 января 2020

Я хочу объединить имя и фамилию как полное имя в моем запросе.

$query = $this->db->select('CONCAT(w.firstName," ",w.lastName) as fullName,w.ID,w.firstName,w.lastName, w.firstname_ar, w.lastname_ar, w.cin , w.tel, w.tel2, w.poste_id, w.gender, w.date_birth, w.address, w.address_ar, w.familySituation, w.socialSecurity, w.typeContract, w.period,w.email,w.status,r.name,w.conge as cng,w.startDateContract, w.pictureProfile, w.endDateContract, w.dateTitulation, w.rib, w.languages, w.passport, w.passport_end_date, w.urgent_phone, w.urgent_phone_name,w.pointage_id as idpointeur, w.shift_start as heure_arr, w.shift_end as heure_dep, w.worker_role as workerRole, r.color as roleColor, r.name as departement, conge_annee, c.name as companyName, c.logo as logoCompany, p.title as poste',FALSE)->from('Workeforce w')->join('Role r', 'r.ID = w.RoleID')->join('Company c', 'c.ID = w.CompanyID')->join('poste p', 'p.id = w.poste_id', 'left')->where('w.worker_role <', 100);

И это дает мне эту ошибку.

Неустранимая ошибка: Uncaught Исключение: SQLSTATE [42S22]: Столбец не найден: 1054 Неизвестный столбец 'CONCAT (w.firstName') в 'списке полей' в / Users / mac / www/application/core/models/workeforce_model.php: 100 трассировки стека: # 0

1 Ответ

0 голосов
/ 27 января 2020

Попробуйте экранировать кавычки в вашем CONCAT.
Тот факт, что ваша ошибка говорит о том, что "'CONCAT (w.firstName'") не является допустимым столбцом, указывает на то, что ваша БД считает, что SELECT заканчивается там.

CONCAT(w.firstName,\" \",w.lastName) as fullName, ....

Добавление \ перед кавычкой ускользнет от него.
Подробнее об экранировании специальных символов можно прочитать здесь: https://dev.mysql.com/doc/refman/8.0/en/string-literals.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...