Значение столбца NULL из таблицы LEFT JOINed перезаписывает столбец с идентичным именем в родительской таблице при исполPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Значение столбца NULL из таблицы LEFT JOINed перезаписывает столбец с идентичным именем в родительской таблице при испол

Сообщение Anonymous »

У меня есть 3 таблицы

Код: Выделить всё

user - contains user_id | username | fullname | email etcc
user_profile - contains entry_id |user_id| profile_image_id| user_location etcc
user_profile_images - contains image_id| user_id | file_path | file_thumb | date etcc
Когда пользователь регистрируется, все данные передаются в таблицу пользователей, user_id также добавляется в таблицу user_profile, а остальные значения по умолчанию устанавливаются как NULL, пока пользователь не добавит некоторую информацию о профиле.
У меня есть запрос в model_users, чтобы получить все данные пользователя из этих трех таблиц, и это выглядит следующим образом;

Код: Выделить всё

$this->db->where('users.user_id', $user_id)->select('*')->from('users');
$this->db->join('user_profile', 'user_profile.user_id = users.user_id', 'left');
$this->db->join('user_profile_images','user_profile_images.image_id = user_profile.profile_image_id','left');
Это работает нормально, только если поле Profile_image_id в user_profile не равно нулю, то есть когда пользователь загрузил изображение. В случае, когда поле имеет нулевое значение, пользователь user_id не возвращается, даже когда возвращаются все остальные данные.
Я понимаю, почему это так, поскольку для моего запроса на соединение требуется поле Profile_image_id, но в настоящее время я решил установить Profile_image_id в user_profile как 1 (по умолчанию), что является изображением по умолчанию и имеет image_id как 1 и user_id как 0, поскольку это общее изображение по умолчанию. Но я до сих пор не могу смириться с тем фактом, что мне нужно обновить этот запрос, чтобы сделать его менее хакерским.
У вас есть какие-нибудь идеи?

Подробнее здесь: https://stackoverflow.com/questions/134 ... cal-name-i
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»