7 min read

Qualify column

Laravel comes with a helpful model method to easily prepend your columns with the table name.

Illuminate\Database\Eloquent\Model

           /**
  * Qualify the given column name by the model's table.
  *
  * @param  string  $column
  * @return string
  */
 public function qualifyColumn($column)
 {
     if (str_contains($column, '.')) {
         return $column;
     }
 
     return $this->getTable().'.'.$column;
 }
        

Illuminate\Database\Eloquent\Builder

           /**
  * Qualify the given column name by the model's table.
  *
  * @param  string|\Illuminate\Database\Query\Expression  $column
  * @return string
  */
 public function qualifyColumn($column)
 {
     return $this->model->qualifyColumn($column);
 }
        

getQualifiedKeyName

           App\Models\User::find(1)->getQualifiedKeyName();
 // posts.id