2017-10-16 10 views
0

データベースからダイナミックルートを作成する方法を教えてください。 カスタムルーターを使用していますが、カスタムルーターとdoctrinaireを統合できませんでした。 主な難点は、工場がカスタムルートクラスに接続できないことです。 誰もZF3のデータベースとルートを接続する方法を知っていますか?データベースからのZF3動的ルート

答えて

0

セグメントルートが必要です(例:

'blogpost' => [ 
      'type' => Segment::class, 
      'options' => [ 
       'route' => '/novost/:id', 
       'defaults' => [ 
        'controller' => Controller\IndexController::class, 
        'action' => 'blogPost', 
       ], 
      ], 
     ], 

予告

:ID

idは、ルート

で動的変数であるあなたが

$id = $this->params()->fromRoute('id'); 

様作用の内側にそれをretriveますので、このルートのデータベースからデータを取得し、ViewModelに提供することができます。例えば:

$post = $this->model->getBlogPost($id); 

$vm = new ViewModel(['post' => $post]); 
return $vm; 

通知は、あなたがまたカッコでルートにオプションの変数を持つことができます - > [/:変数]

変数を忘れてはいけないのurlヘルパーとのリンクを構築します。

$this->url('blogpost',['id'=>$someid]); 

詳細:https://docs.zendframework.com/tutorials/in-depth-guide/understanding-routing/#segment-routes

関連する問題