[英]how to use multiple $_name using extends Zend_Db_Table_Abstract in zend frame work
我们试图这样做,但它显示了一些错误。我们的表名是用户和消息。
<?php
class Application_Model_childconnect1 extends Zend_Db_Table_Abstract
{
protected $_name = 'users';
public function loginvalidation($username,$pwd)
{
$row = $this->fetchRow('UserName = \'' . $username . '\'and UserPW = \''. $pwd . '\'');
if (!$row)
{
$msg="invalid";
return $msg;
}
else
{
return $row->toArray();
}
}
protected $_name = 'messages';
public function replymessage($message)
{
$data=array(
'MessageText'=>$message
);
$this->insert($data);
}
}
Zend_Db_Table
是一个表数据网关 ,根据定义,它是
充当数据库表网关的对象。 一个实例处理表中的所有行。
这反过来意味着您每个表只有一个类,并且每个类不能有多个名称。 请参阅《 Zend Framework参考指南》以了解如何正确使用它:
欢迎您随意设置应用程序,但您可能希望研究使用Zend Auth处理身份验证。
除此之外,如果您通常要使用ZF,那么利用Zend_Db_Select类可能会有所帮助。
<?php
public function loginvalidation($username,$pwd)
{
$s = $this->select();
$s->where('UserNmae = ?',$username)
$s->where('UserPW = ?',$pwd);
$rowset = $this->fetchall($s);
if(count($rowset) == 1)
{
return $row->current()->toArray();
} else {
return "Invalid"
}
}
如果您真的想手工生成SQL,也可以这样做。 只需使用Zend_Db_Adapter对象的查询方法。
<?php
public function loginvalidation($username,$pwd)
{
$rowset = $this->getAdapter()->query('UserName = \'' . $username . '\'and UserPW = \''. $pwd . '\'');
if(count($rowset) == 1)
{
return $row->current()->toArray();
} else {
return "Invalid"
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.