
You can use the subselect query to generate columns dynamically. You can get data from other tables using the query. It accepts two parameters, first one is column name/alias and second is query.
  
                                $pdocrud = new PDOCrud();
                                $pdocrud->crudTableCol(array("first_name","last_name"));
                                 /**
                                 * Allows you to add the dynamic column based on sub query
                                 * @param   string   $columnName                      Alias column name to be used for the query
                                 * @param   string   $query                           Sub Query to be used
                                 * return   object                                    Object of class
                                 */
                                $pdocrud->subQueryColumn("order_id", "select sum(id) from orders where customer_name = {user_name}");
                                echo $pdocrud->dbTable("users")->render(); 
                                
                            