/**
 * Overloaded bind function.
 *
 * @param   array   $array   named array
 * @param   string  $ignore  An optional array or space separated list of properties
 *                           to ignore while binding.
 *
 * @return  mixed   Null if operation was satisfactory, otherwise returns an error
 *
 * @see     Table::bind()
 * @since   1.6
 */
public function bind($array, $ignore = '')
{
    if (isset($array['params']) && \is_array($array['params'])) {
        $registry = new Registry($array['params']);
        $array['params'] = (string) $registry;
    }
    if (isset($array['metadata']) && \is_array($array['metadata'])) {
        $registry = new Registry($array['metadata']);
        $array['metadata'] = (string) $registry;
    }
    // Bind the rules.
    if (isset($array['rules']) && \is_array($array['rules'])) {
        $rules = new Rules($array['rules']);
        $this->setRules($rules);
    }
    return parent::bind($array, $ignore);
}