Assuming, based on your load statement that file is called "organisation.php". So if you load that, you'll end up with:
'organisation' => array( // name of the config file
'organisation' => array( // name of your array
...
),
)
So you need to use \Config::set('foo.organisation.name', ....);
Second point is that when you save, config files are written to the environment folder, so to ./config/development or ./config/production, and not to ./config. Files in ./config should only contain defaults for all environments.
When you load it, both config files will be read and merged.
hii thank you for your time , im sorry for the late reply,
but the organisation array i have is in the original config file not in development or production, but i think that i need to put the array in the development or production file so i can change the values right ??
Files in app/config are global, for all environments, and can't be written to. Files in app/config/<env> are specific to that environment, and can be written to.
If a config file exists in both, the will be merged when read, with the environment specific values overriding the global values.
If you write a config file, it will always be written to the environment directory, even if it was read from a global config file.
Having said that, adding application specific data in config;.php (which is your framework configuration) is a bad idea, it will make upgrading difficult. It is better to create a separate application.php (or whatever name) config file for those values.
And if your data is in config.php, you have misunderstood the way Config works.
\Config::load('configuration', 'foo')
loads a config file with the name configuration.php. The framework config, in config.php, is always loaded when the framework starts, it needs its own configuration.