小编Lor*_*aef的帖子

Symfony:在新控制器中找不到路由

我的申请中有一个神秘的案例No route found。我在控制器中使用注释。我的app/config/routing.yml看起来像这样:

app:
    resource: "@AppBundle/Controller/"
    type:     annotation
Run Code Online (Sandbox Code Playgroud)

所有路线都工作得很好,但现在我创建了一个新控制器,但它找不到它的路线。

<?php
  namespace AppBundle\Controller;

  use Symfony\Component\HttpFoundation\Request;
  use Symfony\Bundle\FrameworkBundle\Controller\Controller;
  use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
  use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
  use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
  use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
  use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;

  /**
   * Export controller.
   * @Route("/export")
   */
  class ExportController extends Controller{
    /*
     * @Route("/")
     */
    public function showExportPage(Request $request)
    {
        return $this->render('AppBundle:export.html.twig');
    }
  }
?>
Run Code Online (Sandbox Code Playgroud)

如果我访问该网址,它会显示No route found for "GET /export". 另外如果我这样做router:debug在控制台中执行此操作,则不会列出该路线。我清过缓存好几次了,还是没用。

也许我只是忘记了一个愚蠢的小细节,但我现在真的陷入困境,所以任何提示都很感激。

php routes symfony

0
推荐指数
1
解决办法
3183
查看次数

在laravel中用顺序id替换复合主键

我有一个带有复合主键的表.我想创建一个迁移,删除该主键,并引入一个新的列'id',它是顺序的,将成为新的主键.

Schema::table('cart_line', function (Blueprint $table) {
    $table->dropPrimary('cart_line_pkey');
    $table->increments('id');
    $table->primary('id');
});
Run Code Online (Sandbox Code Playgroud)

此代码抛出以下错误:

SQLSTATE[42P16]: Invalid table definition: 7 ERROR:  multiple primary keys for table "cart_line" are not allowed (SQL: alter table "cart_line" add primary key ("id"))
Run Code Online (Sandbox Code Playgroud)

如果我直接执行以下SQL,则删除主键并执行上面的代码而不会出现错误:

ALTER TABLE cart_line DROP CONSTRAINT cart_line_pkey;
Run Code Online (Sandbox Code Playgroud)

这就是我尝试的原因

DB::statement('ALTER TABLE cart_line DROP CONSTRAINT cart_line_pkey;');

Schema::table('cart_line', function (Blueprint $table) {
    $table->increments('id');
    $table->primary('id');
});
Run Code Online (Sandbox Code Playgroud)

但是抛出了同样的错误.旧主键不会被删除,但在尝试创建新主键之前没有错误.

我正在使用laravel 5.5和postgres 9.6

php postgresql laravel eloquent

0
推荐指数
1
解决办法
492
查看次数

标签 统计

php ×2

eloquent ×1

laravel ×1

postgresql ×1

routes ×1

symfony ×1