如果之前已经回答过这个问题,我深表歉意,但我在这里用一些应该很简单的东西撞墙......
我的项目正在server
模式下运行。我们需要能够在通过环境变量在运行时间,并让他们可用两种服务器端和客户端
我正在使用文档中publicRuntimeConfig
描述的方法,但我没有做任何不寻常的事情(要遵循的代码)
问题是在开发模式 ( yarn dev
)下运行时一切正常,但是当我构建项目并将其 dockerize (或将其移动到 kubernetes 进行部署)时,它无法正常工作。
这是代码:
next.config.js
const nextConfig = {
publicRuntimeConfig: {
PARAM_A: process.env.PARAM_A || "defaultA",
PARAM_B: process.env.PARAM_B || "defaultB"
}
};
module.exports = nextConfig;
Run Code Online (Sandbox Code Playgroud)
_app.tsx
import React from "react";
import App, { AppContext } from "next/app";
import Head from "next/head";
import { Menu } from "../src/components/menu";
class CustomApp extends App {
static async getInitialProps({ Component, ctx }: AppContext) {
let pageProps = …
Run Code Online (Sandbox Code Playgroud) 我对 Eloquent 非常陌生,我花了数小时进行搜索,但找不到解决问题的确切方法。
我有以下模型:
use Illuminate\Database\Eloquent\Model as Eloquent;
use Illuminate\Support\Collection;
class Answer extends Eloquent
{
protected $table = 'tbl_answers';
protected $fillable = [
'method',
'thoughts',
'location'
];
public function getMethodsStats()
{
$methods = Answer::selectRaw('*, count(*) AS method_count')- >groupBy('method');
return $methods;
}
}
Run Code Online (Sandbox Code Playgroud)
在我的控制器中,我尝试遍历结果以将结果回显到屏幕上。这有效:
$methods = $app->answer->getMethodsStats();
$methods->each(function($method, $key)
{
echo " --- Method: " . $method->method . " - " . $method->method_count;
});
Run Code Online (Sandbox Code Playgroud)
输出如预期:
-- 方法:折叠 - 3 --- 方法:揉皱 - 2
为了使事情更容易,我想用这些值填充一个数组。一旦完成,这个数组应该可以在 'each' 函数之外访问。
编码:
$methods = $app->answer->getMethodsStats();
$stats …
Run Code Online (Sandbox Code Playgroud)