Причина в том, что массив url является аргументом в функции link () - функции HTML-помощника. Если вы посмотрите на объявление:
link(string $title, mixed $url = null, array $options = array(),
string $confirmMessage = false)
Таким образом, вы передаете url в качестве второго аргумента без имени $url
, как если бы вы использовали другие методы.
Howerver, объявление метода create () в помощнике по формам:
create(string $model = null, array $options = array())
Обратите внимание, что существует только один массив $ options. Таким образом, ваш URL здесь является членом массива, а не членом списка аргументов. В ассоциативных массивах вы не можете просто оставить ключи, поэтому использование массива url без явного присвоения имени ключу не должно работать.
Для получения дополнительной информации см. Документы по этим методам:
HTML-> ссылка ()
форма-> создать ()