akaunting / laravel-setting

Persistent settings package for Laravel

Home Page:https://akaunting.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Multi-tenant issue

JurjenRoels opened this issue · comments

Hi,

I have an issue where if I change the setExtraColumns, the update is ignored. See attached tinker

setting()->all()
=> []
setting()->getExtraColumns()
=> []
setting()->setExtraColumns(['site_id' => 2])
=> null
setting()->all()
=> [
"languages" => [
"nl",
],
"types" => [
"normal",
"contact",
],
"account" => "prod2",
]
setting()->getExtraColumns()
=> [
"site_id" => 2,
]
setting()->setExtraColumns(['site_id' => 1])
=> null
setting()->getExtraColumns()
=> [
"site_id" => 1,
]
setting()->all()
=> [
"languages" => [
"nl",
],
"types" => [
"normal",
"contact",
],
"account" => "prod2",
]
exit
Exit: Goodbye
art tinker
Psy Shell v0.10.4 (PHP 7.4.10 — cli) by Justin Hileman
setting()->setExtraColumns(['site_id' => 1])
=> null
setting()->all()
=> [
"languages" => [
"nl",
],
"types" => [
"normal",
],
"account" => "test2",
]
setting()->setExtraColumns(['site_id' => 2])
=> null
setting()->all()
=> [
"languages" => [
"nl",
],
"types" => [
"normal",
],
"account" => "test2",
]

When I add:

$this->loaded = false

to setExtraColumns in Database.php the problem is solved.

Add the following lines after setting the extra column:

setting()->setExtraColumns(['site_id' => 1]);
setting()->forgetAll();
setting()->load(true);