私はフレームワークPhalconを使用しています。私は、 "idcliente"と "nombre"の2つの列を持つclienteというテーブル(mysql)から値(IDclienteというID)を取得するためのフォームを作成しようとしています。この値を使って、Usersという別のテーブルのフィールド(「idcliente」)も更新したいと考えています。ドロップダウンを使用しているフォームはPhalconでは機能しません
私のフォームはこれです:私はウェブサイトで、次のエラーを得た
<div class="panel-body">
{{ form('admin/asignarcliente/', 'id': 'asignarclienteForm', 'onbeforesubmit': 'return false') }}
<fieldset>
<div class="control-group">
{{ form.label('idcliente', ['class': 'control-label']) }}
<div class="controls">
{{ form.render('idcliente', ['class': 'form-control']) }}
</div>
</div>
<div class="form-actions">
{{ submit_button('Asignar', 'class': 'btn btn-primary', 'onclick': 'return SignUp.validate();') }}
</div>
</fieldset>
</form>
</div>
:
class AsignarclienteForm extends Form{
public function initialize($entity = null, $options = null){
$idcliente = new Select('idcliente',[
Cliente::find(),
"useEmpty" => true,
"emptyText" => "Please select...",
"using" => ["idcliente", "nombre"],
]);
$idcliente->setLabel('ID Cliente');
$idcliente->addValidators(array(
new PresenceOf(array(
'message' => 'idcliente is required'
))
));
$this->add($idcliente);
}
}
そして、私のコントローラ:
public function asignarclienteAction(){
$auth = $this->session->get('auth');
$permiso = $auth['active'];
$id = $auth['id'];
if($permiso!='A'){return $this->forward('servicios/index');}
$form = new AsignarclienteForm;
if ($this->request->isPost()) {
$idcliente = $this->request->getPost('idcliente');
$sql = "UPDATE Users SET idcliente = ?0 WHERE id = ?1";
$this->modelsManager->executeQuery($sql, array(0 => $idcliente, 1 => $id));
return $this->forward('admin/usuarios');
}
$this->view->form = $form;
}
そして、私のビュー
ライン31は私がフォームの多くを作成しているにもかかわらず、選択してフォームを作成する方法についての十分な文書を発見していない私の見解ID Cliente Catchable fatal error: Object of class Phalcon\Mvc\Model\Resultset\Simple could not be converted to string in C:\xampp\htdocs\OpinionZoom\cache\volt\c%%%%xampp%%htdocs%%opinionzoom%%app%%views%%admin%%asignarcliente.volt.php on line 31
に{{ form.render('idcliente', ['class': 'form-control']) }}
で
。
誰かが私を助けることができたら、私はそれを多く感謝します。ありがとう。
質問:なぜ、あなたのビューでフォーム要素の上にあなたのループを実行しますか?ループ内で 'element'変数を使用していません。今度は 'idcliente'要素をx回出力しています!それとも、デバッグ目的のためだけでしたか? – Timothy
@ティモシー良い観察。私はWebで見つけた例をコピーしました。しかし、あなたは正しい、私の他の形では私はforループを持っていない。ありがとうございました:D既に出ています。 –