我正在尝试解决这个问题
当做
php bin/console doctrine:schema:update --dump-sql
Run Code Online (Sandbox Code Playgroud)
我正进入(状态
In SchemaException.php line 108:
The table with name 'chris_test_sonata.page__block' already exists.
Run Code Online (Sandbox Code Playgroud)
显然,该表不存在于我的数据库中。为了确保这与缓存无关,我什至使用刚刚创建的新数据库进行了操作,结果是相同的。
当我在项目中搜索 page__block 出现时,我只找到这个映射
/**
* @ORM\Entity
* @ORM\Table(name="page__block")
* @ORM\HasLifecycleCallbacks
*/
class SonataPageBlock extends BaseBlock
Run Code Online (Sandbox Code Playgroud)
所以这个表不应该有其他映射。
我还有一个 block.orm.xml
<?xml version="1.0" encoding="utf-8"?>
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping" xsi="http://www.w3.org/2001/XMLSchema-instance" schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
<!--
This file has been generated by the EasyExtends bundle ( https://sonata-project.org/easy-extends )
References :
xsd : https://github.com/doctrine/doctrine2/blob/master/doctrine-mapping.xsd
xml mapping : http://www.doctrine-project.org/projects/orm/2.0/docs/reference/xml-mapping/en
association mapping : http://www.doctrine-project.org/projects/orm/2.0/docs/reference/association-mapping/en
-->
<entity
name="App\Application\Sonata\PageBundle\Entity\Block"
table="page__block"
repository-class="Doctrine\ORM\EntityRepository">
<id name="id" type="integer" column="id"> …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用这些命令更新我的数据库
php bin/console make:migration
此返回成功
但是当我尝试
php bin/console doctrine:migrations:migrate
我有这个错误:
警告!您在数据库中有 5 个先前执行的迁移 >> 未注册的迁移。
>> 2018-12-17 10:42:04 (20181217104204)
>> 2018-12-17 13:19:24 (20181217131924)
>> 2018-12-17 13:40:58 (20181217134058)
>> 2018-12-18 10:41:38 (20181218104138)
>> 2018-12-18 13:15:49 (20181218131549)
Run Code Online (Sandbox Code Playgroud)
事实是,此处列出的数据库不在我的数据库中的迁移表中,它们也不在我的 Migrations 文件夹中。
如何删除那些错误的迁移?谢谢。
我有这段代码可以将一些数据导出到 pdf 中。我想从外部 css 文件添加 css (在使用的 html 中没有提到)
/*********************************** Export PDF ****************************************************/
if($request->query->get('exportPDF')!= null){
// Configure Dompdf according to your needs
$pdfOptions = new Options();
$pdfOptions->set('defaultFont', 'Arial');
// Instantiate Dompdf with our options
$dompdf = new Dompdf($pdfOptions);
// Retrieve the HTML generated in our twig file
$html = $this->renderView('dashboard/user_table.html.twig', [
'users' => $users
]);
// Load HTML to Dompdf
$dompdf->loadHtml($html);
// (Optional) Setup the paper size and orientation 'portrait' or 'portrait'
$dompdf->setPaper('A3', 'landscape');
// Render the HTML as PDF …Run Code Online (Sandbox Code Playgroud) 我正在关注这个:https : //symfony.com/doc/current/bundles/FOSUserBundle/overriding_templates.html
我在里面找到了默认模板 vendor/friendsofsymfony/user-bunfle/views/layout.html.twig
然后文档说将您的新布局模板放置在app/Resources/FOSUserBundle/views/layout.html.twig. 事情是,在 Symfony4 中,我认为没有更多的应用程序文件夹。那我该怎么做呢?谢谢