我想使用一些片段:
import {gql} from "apollo-boost";
import "../fragments/cardFragments.graphql"
export const ADD_CARD = gql`
mutation AddCard {
createCard(input: {
private: true,
section: "school",
createdBy: "api/users/1"
}) {
card {
...CardFields
}
}
}
`;
export default {ADD_CARD}
Run Code Online (Sandbox Code Playgroud)
卡片段.graphql:
fragment CardFields on card {
id
private
section
createdBy {
id
}
}
Run Code Online (Sandbox Code Playgroud)
在控制台内我收到错误:
[GraphQL 错误]:消息:未知片段“CardFields”。,位置:[对象对象],路径:未定义
我是不是忘记了什么?
编辑:
为了让 graphql 片段工作,我需要使用 webpack 加载它:Apollo 文档
我用以下方法做到了这一点Webpack Encore
:
.addLoader({
test: /\.(graphql|gql)$/,
exclude: /node_modules/,
loader: 'graphql-tag/loader',
});
module.exports = Encore.getWebpackConfig();
Run Code Online (Sandbox Code Playgroud)
在我这样做之前 - 我收到了一个关于 .graphql …
我有问题,knp paginator只能这样工作:
$em = $this->get('doctrine.orm.entity_manager');
$dql = "SELECT a FROM MainArtBundle:Art a";
$query = $em->createQuery($dql);
$paginator = $this->get('knp_paginator');
$pagination = $paginator->paginate(
$query,
$this->get('request')->query->get('page', 1) /*page number*/,
8 /*limit per page*/
);
Run Code Online (Sandbox Code Playgroud)
但不是这样:
$em = $this->getDoctrine()->getManager();
$entities = $em->getRepository('MainArtBundle:Art')->findAll();
$paginator = $this->get('knp_paginator');
$pagination = $paginator->paginate(
$entities,
$this->get('request')->query->get('page', 1) /*page number*/,
/*limit per page*/
);
Run Code Online (Sandbox Code Playgroud)
为什么会这样?我不明白.
这是我的树枝电话:
<li>{{ knp_pagination_sortable(paginator, 'Oldest', 'a.id', {'direction': 'desc'}) }}</li>
Run Code Online (Sandbox Code Playgroud)
问候迈克尔
是否可以简单地使用ajax运行knp paginator?是否可能,最好的方法是什么?
问候迈克尔
我的数据库结构如下所示:
用户<->个人<->学校
因此,个人对象会像这样保存有关用户和学校的信息:
class Personal
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\ManyToOne(targetEntity="user", inversedBy="schools", fetch="EAGER")
*/
private $user;
/**
* @var string
*
* @ORM\ManyToOne(targetEntity="school", inversedBy="personal", fetch="EAGER")
*/
private $school;
}
Run Code Online (Sandbox Code Playgroud)
所以我想获取用户的学校:
$query = $qb
->select('school')
->from('AppBundle:School', 'school')
->leftJoin('school.personal', 'p', 'WITH', 'p.user = :user')
->setParameters(array(':user' => $user))
->getQuery();
Run Code Online (Sandbox Code Playgroud)
我还尝试了以下方法:
$query = $qb
->select('school')
->from('AppBundle:School', 'school')
->leftJoin('u.personal', 'personal')
->leftJoin('personal.user', 'pu')
->where('pu = :user')
->setParameters(array(':user' => $user)) …
Run Code Online (Sandbox Code Playgroud) 我已经在 Docker 容器中设置了一个 Symfony4 项目。
我按照Jobeet-Tutorial在那里他们使用phpdocker.io - generator。
一切都很完美,但速度很慢。所以我想加速并启用opcache并配置它。
我在网上找到了有用的链接。所以我在我的 Dockerfile 中添加了以下内容:
RUN docker-php-ext-configure opcache --enable-opcache \
&& docker-php-ext-install opcache
# Copy configuration
COPY config/opcache.ini $PHP_INI_DIR/conf.d/
Run Code Online (Sandbox Code Playgroud)
问题是我没有这个帮助脚本:
所以我决定在互联网上搜索它并将其复制到我的项目中。
现在我把它放在我的 docker 目录的 php-fpm 文件夹中。
我的目录现在看起来像这样 - 脚本位于 Dockerfile 下方:
有没有我忘记做的其他步骤,比如在某处注册这些脚本?
我正在使用 Symfony 表单组件。我的项目中有很多表格。
要完美地学习表单组件还有很长的路要走,但现在我喜欢它。我也喜欢自动验证等等。
所以。现在我想在我的项目中学习和使用React.js。
但似乎我无法像以前一样在项目中使用验证和表单生成器?我在吗?
我正在编写一个公共 Symfony 应用程序。所以我需要在Packagist上公开它。如何运行 post-install-cmd 来自动设置一个新的 random APP_SECRET
?
知道这一点会很高兴,我认为这很重要。我没有在互联网上找到任何关于它的信息。
symfony ×4
php ×3
doctrine-orm ×2
knppaginator ×2
ajax ×1
docker ×1
dockerfile ×1
graphql ×1
javascript ×1
left-join ×1
pagination ×1
reactjs ×1
symfony4 ×1