我正在使用框架Phalcon。我試圖創建一個表格,以從名爲cliente的表(在mysql中)獲得一個值(ID爲「idcliente」),該表有兩列:「idcliente」和「nombre」。有了這個值,我想在另一個名爲Users的表上更新一個字段(也稱爲「idcliente」)。使用下拉式表格在Phalcon上不起作用
我的形式是這樣的:
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;
}
而我的觀點:
<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>
我在網站上的以下錯誤:
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
其中第31行是{{ form.render('idcliente', ['class': 'form-control']) }}
在我看來
我還沒有找到如何創建一個形式選擇足夠的資料,儘管我已經創造了很多形式。
如果有人能幫助我,我會很感激。謝謝。
一個問題:爲什麼你遍歷你看你的表單元素?你沒有在循環中使用'element'變量。現在,您只需輸出'idcliente'元素x次!還是僅僅爲了調試目的? – Timothy
@蒂莫西良好的觀察。我剛剛複製了我在Web中找到的示例。但是你是對的,在我的其他形式中,我沒有for循環。謝謝:D已經出來。 –