如何从数据库 return 一次并存储在内存中 Laravel
How to return once from database and store in memory in Laravel
我想做的事情:
Return 数据库中的一堆行,转换为存储在内存中的数组,并使该数组在整个项目中可见,例如其他控制器可以读取它。我的功能就这么简单:
class BoardController extends Controller
{
/*
* returns something like
* ['name' => 'description',
...
]
*
* */
public static function getAll()
{
$boards = Board::orderBy('ordem')->get();
$retorno = array();
foreach($boards as $b)
{
$retorno[$b->sigla] = $b->nome;
}
return $retorno;
}
}
如果我继续调用 BoardController::getAll()
,它将再次从数据库中读取。我还尝试在 config
文件中将此调用转换为变量并将其返回到那里,但是 laravel 给了我一个 500 错误。那么,什么是最好的 practice/way 呢?
我想做的事情:
Return 数据库中的一堆行,转换为存储在内存中的数组,并使该数组在整个项目中可见,例如其他控制器可以读取它。我的功能就这么简单:
class BoardController extends Controller
{
/*
* returns something like
* ['name' => 'description',
...
]
*
* */
public static function getAll()
{
$boards = Board::orderBy('ordem')->get();
$retorno = array();
foreach($boards as $b)
{
$retorno[$b->sigla] = $b->nome;
}
return $retorno;
}
}
如果我继续调用 BoardController::getAll()
,它将再次从数据库中读取。我还尝试在 config
文件中将此调用转换为变量并将其返回到那里,但是 laravel 给了我一个 500 错误。那么,什么是最好的 practice/way 呢?