/** * @param SqlCrudInterface $sqlCrudInterface * @param array $data * @return SqlCrudInterface */ protected function setData(SqlCrudInterface &$sqlCrudInterface, array $data) { $columns = array_flip($sqlCrudInterface->crudColumns()); foreach ($data as $column => $value) { if (isset($columns[$column])) { $methodName = 'set' . ucfirst($columns[$column]); $sqlCrudInterface->{$methodName}($value); } } return $sqlCrudInterface; }