ホームページ > バックエンド開発 > PHPチュートリアル > PHP オブジェクト指向開発に関するいくつかの問題

PHP オブジェクト指向開発に関するいくつかの問題

WBOY
リリース: 2016-06-23 13:58:22
オリジナル
803 人が閲覧しました

次のコードはクラス内のメソッドです:
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 メソッドは現在のクラスまたはその親クラスに存在しますか?

メソッドが配置されているクラスは、データベースの基本クラス (基本クラスである場合もあります) を継承します
このクラス (またはその親クラス) でテーブル メソッドの定義が見つからない場合は、 __call メソッドが定義される

Table メソッドは現在のクラスまたはその親クラスに存在しますか?


絶対に存在しない!

mysql クラスでそれを探します


メソッドが配置されているクラスは、データベースの基本クラス (または基本クラスである可能性があります) から継承します
このクラス (またはその親) でそれが見つからない場合class) table メソッド定義、その後 __call メソッドを定義する必要があります

マスターはマスターです!要点を一言! __call メソッドは確かによく使われるメソッドです。見落とし!とにかくそれが私にとってうまくいく方法です!どうもありがとうございます!

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート