Der NULL-Spaltenwert aus der LEFT JOINed-Tabelle überschreibt die Spalte mit identischem Namen in der übergeordneten TabPhp

PHP-Programmierer chatten hier
Anonymous
 Der NULL-Spaltenwert aus der LEFT JOINed-Tabelle überschreibt die Spalte mit identischem Namen in der übergeordneten Tab

Post by Anonymous »

Ich habe 3 Tische

Code: Select all

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
Wenn sich ein Benutzer anmeldet, werden alle Details in die Benutzertabelle verschoben. Die Benutzer-ID wird auch zur Tabelle „Benutzerprofil“ hinzugefügt, der Rest wird standardmäßig auf NULL gesetzt, bis der Benutzer einige Profilinformationen hinzufügt.
Ich habe in „model_users“ eine Abfrage, um alle Benutzerdaten aus diesen drei Tabellen abzurufen, und das geht so:

Code: Select all

$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');
Es funktioniert nur dann einwandfrei, wenn das Feld „profile_image_id“ in „user_profile“ nicht null ist, das heißt, wenn der Benutzer ein Bild hochgeladen hat. Wenn das Feld null ist, wird die Benutzer-ID des Benutzers nicht zurückgegeben, selbst wenn alle anderen Daten zurückgegeben werden.
Ich kann verstehen, warum dies der Fall ist, da meine Join-Abfrage das Feld „profile_image_id“ erfordert, aber derzeit habe ich dies dadurch umgangen, dass ich „profile_image_id“ in „user_profile“ auf 1 (Standard) gesetzt habe, was das Standardbild ist und image_id auf 1 und user_id auf 0 hat, da es das allgemeine Standardbild ist. Aber ich komme immer noch nicht darüber hinweg, dass ich diese Abfrage aktualisieren muss, um sie weniger hackig zu machen.
Habt ihr irgendwelche Ideen?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post