2017-05-12 3 views
0

Ich habe eine Modellklasse namens "Name" und eine Controller-Klasse namens "Controller1". Ich habe ein Formular erstellt, indem ich das "Name" -Modell verwende, das standardmäßig auf "Namen" -Controller verweist, wie es die Standardnamenskonvention von CakePHP vorsieht. Aber ich will es 'Controller1' Controller-zu-Punkt ..So zeigen Sie auf einen anderen Controller eines Modells in CakePHP

Ich habe diesen Code ersetzen: -

<?php echo $this->Form->create('Name'); ?> 

mit diesem zu sehen, ob es funktioniert: -

<?php 
    echo $this->Form->create('Name',array('controller'=>'Controller1', 
    'action'=>'view')); 
?> 

Aber Es funktioniert nicht und zeigt nur auf den Namen-Controller. enter image description here

Wie kann ich es auf "Controller1" statt "Namen" Controller zeigen?

Weitere Details: - Model (Name.php): -

class Name extends AppModel{ 
    public $useTable = "tbl_names"; 
} 

Controller (Controller1Controller.php): -

class Controller1Controller extends AppController 
{  
    public function index(){ 

    } 

    public function view($id){ 
     $name =''; 
     if($this->request->is('post')){ 
      $name = $this->request->data('name'); 
      if($name==="xyz"){ 
       $this->redirect('http://www.google.com'); 
      }else{ 
       $this->Save($this->request->data); 
       $this->request->data['name']= 'Nice'; 
      } 
     } 
     return $id; 
    } 

    // Save to database if entered name is other than 'xyz' 
    private function Save($data){ 
     $this->Name->create(); 
    } 

    public function viewname($id,$name){ 

    } 
} 

Antwort

1

Sie haben url Schlüssel gesetzt crontroller und Aktion passieren Werte.

echo $this->Form->create(false, array(
    'url' => array('controller' => 'recipes', 'action' => 'add'), 
    'id' => 'RecipesAdd' 
)); 

Siehe FormHelper > Options for create()

+0

Excellent. Es funktionierte.. –

Verwandte Themen