ホームページ >バックエンド開発 >PHPチュートリアル >PHP オブジェクト指向開発に関するいくつかの問題
次のコードはクラス内のメソッドです:
public function getHead(){
$map = array(
'A.state'=>array('eq',1),
'A.recommend'=> ; array('eq',1)
);
$prefix = C('DB_PREFIX');
$data = $this->Table("{$prefix} としてのオークション")-> " {$prefix}accessory as AC ON A.goods_pic = AC.id")->
join("{$prefix}accessory as ACC ON A.agopic = ACC.id")-> . *,AC.path,ACC.path as agopath')->where($map)->
return $data;
次のコードでは $this->Table "....")、Table() メソッドがどこにも見つかりません。なぜですか?アドバイスをください。
$data = $this->Table("{$prefix}auction as A")->
join("{$prefix}accessory as AC ON A.goods_pic = AC.id")-> ("{$prefix}accessory as ACC ON A.agopic = ACC.id")->
field('A.*,AC.path,ACC.path as agopath')->where($map)- >
Find();
ディスカッションに返信する (解決策)
Table メソッドは現在のクラスまたはその親クラスに存在しますか?
メソッドが配置されているクラスは、データベースの基本クラス (基本クラスである場合もあります) を継承しますTable メソッドは現在のクラスまたはその親クラスに存在しますか?
絶対に存在しない!
mysql クラスでそれを探します
マスターはマスターです!要点を一言! __call メソッドは確かによく使われるメソッドです。見落とし!とにかくそれが私にとってうまくいく方法です!どうもありがとうございます!