【发布时间】:2018-06-15 21:52:21
【问题描述】:
我正在尝试一些疯狂的事情。问题是我需要在变量上保存董事会编号(实际董事会是XXXVI,但今年将更改为XXXVII)值,因为我认为仅仅为了保存一个值而制作表格是没有用的这将每2年改变一次。所以我想到在控制器上使用全局变量来保存该值,并且我的代码一切正常,除了它没有将值保存到变量中。这是我的代码:
控制器代码:
//Here I declare the variable
protected $board;
// Here I initialize the variable so I can send it to the template
public function editDirectors()
{
$numberBoard = $this->board;
return view('board.edit_directors', compact('numberBoard'));
}
//Here it's supposed to save the value into the variable
public function uploadNumber(Request $request)
{
$this->board = $request->value;
$numberBoard = $this->board;
return $numberBoard;
}
模板代码:
<a href="#" id="board-number" data-type="text"
data-pk="1"
data-url="{{url('/board-of-directors/edit/number-board')}}"
data-value="{{$numberBoard}}"
data-name="numberBoard"
data-title="Number Board">{{$nummberBoard}}</a>
Board of Directors</h3>
X-可编辑初始化
$('#board-number').editable();
路线
Route::put('/board-of-directors/edit/number-board' , 'DirectorController@uploadNumber');
有趣的是,当我显示 Web 控制台以检查网络选项卡并检查 XHR 部分时,它会发送 200 响应,并且在预览中,它会返回我输入的值,但不会将值保存到变量。
我们将不胜感激:3
编辑:
我创建了一个 config/board.php 文件并添加了以下几行:
return [
'director' => [
'number' => 'XXXVI'
]
];
用这个修改了控制器:
// Here I get the value at config/board.php and send it to the template and works :D
public function editDirectors()
{
$numberBoard = Config::get('board.director.number');
return view('board.edit_directors', compact('numberBoard'));
}
//Here it's supposed to save the new value into the config/board.php file but doesn't works :(
public function uploadNumber(Request $request)
{
$numberBoard = $request->value;
Config::set('board.director.number', $numberBoard);
return $numberBoard;
}
我运行了这个命令,所以 config/board.php 可以将值发送到控制器。
php artisan config:cache
此外,每次我更改 config/board.php 的值时,似乎我都必须运行此命令才能使其显示该值。
你有什么建议吗?将不胜感激:3
【问题讨论】:
-
所以据我了解是你想要持久存储但不想去数据库,所以你可以将它保存在文件中或使用 Redis
-
@DhavalChheda 那么,我无法将值保存在“永久”变量中吗?
-
没有变量不是持久存储
-
@DhavalChheda 这说明了一切。谢谢,我知道这将是一个超级菜鸟问题。我会检查 Redis,听起来不错。
-
我建议将其存储到
custom config file。您可以根据需要手动更改它,即使您也可以动态更改配置文件,但这不是一个好主意。