/** * Sets the foreign field of the column, if any. * * @param \CI_Model $model * @param \Rougin\Describe\Column $column * @param array $properties * @return void */ protected function setForeignField(\CI_Model $model, Column $column, array $properties) { $columnName = $column->getField(); $foreignColumn = $column->getReferencedField(); $foreignTable = $column->getReferencedTable(); if (in_array($foreignTable, $properties['belongs_to'])) { $delimiters = [$foreignColumn => $model->{$columnName}]; $foreign = $this->find($foreignTable, $delimiters); if (is_object($foreign)) { $tableName = TableHelper::getNameFromModel($foreign); $model->{$tableName} = $foreign; } } }