Heim > Backend-Entwicklung > PHP-Tutorial > PHP 面向对象开发的一些问题

PHP 面向对象开发的一些问题

WBOY
Freigeben: 2016-06-23 13:58:22
Original
803 Leute haben es durchsucht

如下代码是一个类中的方法:
public function getHead(){
$map = array(
     'A.state'=>array('eq',1),
     'A.recommend'=>array('eq',1)
     );
     $prefix = C('DB_PREFIX');
     $data = $this->Table("{$prefix}auction as A")->
  join("{$prefix}accessory as AC ON A.goods_pic = AC.id")->
  join("{$prefix}accessory as ACC ON A.agopic = ACC.id")->
  field('A.*,AC.path,ACC.path as agopath')->where($map)->
  find();
return $data;
}

在下面这段代码里 $this->Table("....."),在任何地方都找不到定义的Table( )方法!为什么?求指点!
     $data = $this->Table("{$prefix}auction as A")->
  join("{$prefix}accessory as AC ON A.goods_pic = AC.id")->
  join("{$prefix}accessory as ACC ON A.agopic = ACC.id")->
  field('A.*,AC.path,ACC.path as agopath')->where($map)->
  find();


回复讨论(解决方案)

当前类或其父类是否存在Table这个方法?

你的这个方法所在的类是继承与一个数据库基类的(也可能就是基类)
如果你没有在这个类(或他的父类)中找到 table 方法的定义,那么就一定定义了一个 __call 方法

当前类或其父类是否存在Table这个方法?



绝对的不存在!

你到mysql的类里找

你的这个方法所在的类是继承与一个数据库基类的(也可能就是基类)
如果你没有在这个类(或他的父类)中找到 table 方法的定义,那么就一定定义了一个 __call 方法



高手就是高手!一语道破! __call 方法确实是经常效用的一种方法!疏忽了!反正对我来说是这样的!非常感谢!
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage